内容发布更新时间 : 2024/12/23 6:06:08星期一 下面是文章的全部内容请认真阅读。
例如:n为1000时,函数值应为s=96.979379。 注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。 试题程序:
#include
{ } main()
{ int n=1000;
printf(\%f\\n\,fun(1000));
} 第4套
填空题:给定程序的功能是判断字符ch是否与串str中的某个字符相同;若相同,什么也不做,若不同,则插在串的最后。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:不得增行或删行,也不得更改程序的结构! 试题程序:
#include
void fun(char*str, char ch )
{ while ( *str && *str != ch ) str++;
if( *str 【1】 ch ) {str[0] =ch; 【2】= 0; }
} main( )
{ char s[81],c;
printf( \gets ( s ); printf (\c = getchar(); fun(【3】) ;
printf( \is %s\\n\,s);
}
改错题:下列给定程序中函数fun()的功能是计算正整数num的各位上的数字之平方和。 例如:输入352,则输出应该是38;若输入328,则输出应该是77。 请改正程序中的错误,使它能得到正确结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 试题程序: #include
#include
long fun(long num)
/*************found**************/ { long k=1; do
{ k+=(num%10)*(num%10); num/=10;
/*************found**************/ }while(num) return(k); } main()
{ long n;
printf(\:\; scanf(\%ld\,an);
printf(\%ld\\n\,fun(n));
}
编程题:请编写函数fun(),它的功能是求Fibonacci数列中小于t的最大的一个数,结果由函数返回。其中Fibonacai数列F(n)的定义为:
F(0)=0,F【1】=1,…… F(n)=F(n-1)+F(n-2) 例如:t=1000时,函数值为987。 注意:部分源程序给出如下:
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。 试题程序:
#include
{ int n; n=1000;
printf(\%d,f=%d\\n\,n,fun(n)); }
第5套
填空题 :请补充函数fun(),该函数的功能是:把从主函数中输入的字符串str2倒置后接在字符串strl后面。 例如:strl=“How do”,str2=“?od uoy”,结果输出:“How do you do?”。 注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。
试题程序:
#include
void fun(char *strl,char *str2) { int i=0, j=0, k=0, n;
char ch,*pl=strl,*p2=str2; while (* (pl+i)) i++;
while (* (p2+j) ) j++; n= 【1】 ;
for (; k<=j/2; k++, j--) { ch=* (p2+k);
* (p2+k) =* (p2+j); * (p2+j) =ch; } 【2】 ;
for(; 【3】 ;i++) * (pl+i)=*p2++; * (pl+i) =' \\0'; }
main ( )
{ char strl [N], str2 [N]; int m, n, k;
printf (\ printf (\: \ gets (strl);
printf (\: \ gets (str2);
printf (\ puts (strl); puts (str2); fun(str1,str2);
printf(“***The new string***\\n”); puts(str1); }
改错题:下列给定程序中,函数fun()的功能是找出100~n(n不大于1000)之间百位数字加十位数字等于个位数字的所有整数,把这些整数放在s所指的数组中,个数作为函数值返回。
请改正程序中的错误,使它能得到正确结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
试题程序:
#include
int fun(int *s, int n) { int i, j=0, k,a,b,c; for(i=100; i ********************************** { k=n; a=k; k/=10; b=k; c=k/10; if (a==b+c) ********************************** s [j]=i; } return j; } main ( ) { int a[N], n,num=0, i; do { printf(\:\ scanf (\ } while(n > 1000); num= fun (a, n); printf (\:\\n\ for(i=0; i printf (\ printf (\ } 编程题:程序定义了N×N的二维数组,并在主函数中自动赋值。请编写函数fun(int a[][N],int n),该函数的功能是使数组左下半三角元素中的值加上n。 例如:若n的值为3,a数组中的值为 a=2 5 4 1 6 9 5 3 7 则返回主程序后a数组中的值应为 5 5 4 4 9 9 8 6 10 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。 试题程序: #include fun(int a[][N], int n) { } main () { int a[N][N],n, i,j; printf(\ for(i=0; i { a[i] [j]=rand(); printf(\ } printf (\ } do { n=rand () ; while (n>=5); /*产生一个小于5的随机数n* / printf (\ fun (a, n); printf (\ for(i=0; i { for (j=0; j printf (\ printf (\ } } } 第6套 填空题 :请补充函数fun(),该函数的功能是:按‘0’到‘9’统计一个字符串中的奇数数字字符各自出现的次数,结果保存在数组num中。注意:不能使用字符串库函数。 例如:输入“x=112385713.456+0.909*bc”,结果为:1=3,3=2,5=2,7=1,9=2。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。 试题程序: #include void fun(char *tt,int num[]) { int i,j,bb[10]; char *p=tt; for (i=0; i<10; i++) { num[i]=0; bb[i]=0; } while( 【1】 ) { if (*p>=' 0' &&*p<=' 9' ) 【2】 ;