1、 1.1请补充函数fun,函数fun的功能是求n的阶乘。 if (【1】) return(n*fun(【2】)); return 【3】; 【1】n>1【2】n-1【3】1 2.1请补充函数fun,它的功能是:计算并输出n(包括n)以内所有能被3或7整除的自然数的倒数之和。 例如,在主函数中从键盘给n输入30后,输出为:s=1.226323。 for (i=1;_【1】; i++) if (i%3==0_【2】_i%7==0) sum+=_【3】_/i; 【1】i<=n 【2】|| 【3】1.0或(double) 3.1给
2、定程序的功能是:求二分之一的圆面积,函数通过形参得到圆的半径,函数返回二分之一的圆面积 (注:圆面积公式为:S=πr2,在程序中定义的变量名要与公式的变量相同)。 例如,输入圆的半径值:19.527,输出为:s=598.949991。 return 3.14159*_【1】_/2.0; scanf("%lf",_【2】_); printf("S=%lf\n",fun(_【3】_)); } 【1】r*r 【2】&x 【3】x 4.1给定程序的功能是:计算并输出下列级数的前N项之和SN,直到SN大于q为止,q的值通过形参传入。 例如,若q的值为50.0,则函数值为50
3、416687。 while (s【1】q) 【2】; 【3】; 【1】<= 【2】n++或n+=1或n=n+1 【3】return s或return (s) 5.1请补充函数fun,该函数的功能求能是:整除x且是偶数的数,把这些数保存在数组bb中,并按从大到小的顺序输出。 例如当x=20时,依次输出:20 10 4 2。 for(【1】;I<=k;I++) if(【2】) for(I=【3】;I>=0;I--) 【1】I=1【2】k%I==0&&I%2==0【3】--j或j--或j=j-1或j-=1 6.1程序的功能是计算s=! !。 s = 【1】_; s
4、 【2】; s = 【3】; s =【4】; 【1】1 【2】s*i或i*s 【3】0 【4】s+fun(k) 7.1请补充函数fun,该函数的功能是:求不超过给定自然数的所有偶数之和。 s=_【1】; for (i=2;【2】; i+=2) 【1】0 【2】i<=x 8.1请补充函数fun,该函数的功能是:求一维数组x[N]的平均值,并对所得结果进行四舍五入(保留两位小数)。 例如:当x[10]={15.6,19.9,16.7,15.2,18.3,12.1,15.5,11.0, 10.0,16.0},结果为:avg=15.030000。 【1】
5、 avg=【2】; t=【3】; 【1】sum+=x[I] 【2】avg*1000 【3】(avg+5)/10 9.1请补允函数fun,该函数的功能是:计算并输出下列多项式的值。 S 例如,若主函数从键盘给n输入50后,则输出为S=1.960784。 【1】fun (int n) t +=【2】; sum +=【3】; 【1】double 【2】j 【3】1.0/t或(double)1/t 10.1请补充main函数,该函数的功能是:求n!。 例如7!=5040。 scanf("%d",【1】); for(【2】;I<=n;I++)
6、 【3】; 【1】&n 【2】I=1或I=2 【3】f*=I 11.1请补充main函数,该函数的功能是:先以只写方式打开文件"out11.dat",再把字符串str中的字符保存到这个磁盘文件中。 if((fp=fopen(【1】))==NULL) 【2】; 【3】; 【1】″out11.dat″, ″w″【2】fputc(ch,fp)【3】fclose(fp) 12.1请补充main函数,该函数的功能是:把文本文件B中的内容追加到文本文件A的内容之后。 例如,文件B的内容为"I'm ten.",文件A的内容为"I'm a student!",追加之后文件A的
7、内 if((fp1=fopen("A.dat","a")) 【1】 (fp2 =fopen("B.dat","r"))) 【2】; 【3】; 【1】&& 【2】fputc(ch,fp1) 【3】fclose(fp) 13.1请补充函数fun,该函数的功能是:建立一个带头结点的单向链表并输出到文件"out13.dat"和屏幕上,各结点的值为对应的下标,链表的结点数及 输出的文件名作为参数传入。 s->data=【1】; 【2】; p=【3】; 【1】i 【2】p->next=s 【3】p->next 14.1请补充main函数,该函数的功
8、能是:计算两个自然数n和m(m<10000)之间所有数的和(n和m从键盘输入)。 例如:当n=1,m=100时,sum=5050;当n=100,m=1000时,sum=495550。 注意:部分源程序给出如下。 请勿改动main函数和其他函数中的任何内容,仅在main函数的横线上填入所编写的若干表达式或语句。 试题程序: 【1】; 【2】; printf("sum=%【3】\n",sum); } 【1】sum=0 【2】sum+=n 【3】ld 15.1请补充main函数,该函数的功能是:计算每个学生成绩的平均分,并把结果保存在数组bb中。 例如,当sco
9、re[N][M]={{83.5,82,86,65,67},{80,91.5,84,
99,95},{90.5,95,86,95,97}}时,三个学生的平均分为 76.7
89.9 92.7。
注意:部分源程序给出如下。
请勿改动main函数和其他函数中的任何内容,仅在main函数的横线上填入所编写的若干表达式或语句。
试题程序:
for(I=0;I 10、
例如,当score[N][M]={{83.5,82,86,65,67},{80,91.5,84,
99,95},{90,95,86,95,97}}时,五门学科的平均分为:84.5 89.5 85.3 86.3 86.3。
注意:部分源程序给出如下。
请勿改动main函数和其他函数中的任何内容,仅在main函数的横线上填入所编写的若干表达式或语句。
试题程序:
for(I=0;I 11、 printf("\nsubject%d\taverage=%5.1f",
I+1,【3】);
return 0;
}
【1】N 【2】M 【3】bb[I]/N
17.1请补充main函数,该函数的功能是:求1+2!+3!+...+N!的和。
例如,1+2!+3!+...+5! +6!的和为873。
注意:部分源程序给出如下。
请勿改动main函数和其他函数中的任何内容,仅在main函数的横线上填入所编写的若干表达式或语句。
试题程序:
scanf("%d",【1】);
t=【2】;
s=【3】;
【1】&n 【2】t*I 【3 12、s+t
18.1请补充main函数,该函数的功能是:打印出1~1000中满足:个位数字的立方等于其本身所有数。
本题的结果为:1 64 125 216 729
注意:部分源程序给出如下。
请勿改动main函数和其他函数中的任何内容,仅在函数main的横线上填入所编写的若干表达式或语句。
试题程序:
g=【1】;
if(【2】)
【1】I%10 【2】g*g*g==I
19.1请补充main函数,该函数的功能是:输出方程组"A+B=56,A+2B=72"的一组正整数解。本题的结果是:A=40,B=16。
注意:部分源程序给出如下。
请勿改动main 13、函数和其他函数中的任何内容,仅在main函数的横线上填入所编写的若干表达式或语句。
试题程序:
if(【1】)
printf("A=%2d,B=%2d",【2】);
}
【1】I+j==56&&I+2*j==72 【2】I,j
20.1请补充main函数。该函数的功能是:求1~100(不包括100)以内所有素数的平均值。
程序运行后的结果为42.40。
注意:部分源程序给出如下。
请勿改动main函数和其他函数中的任何内容,仅在main函数的横线上填入所编写的若干表达式或语句。
试题程序:
for(I=2; I 14、
{
if(【2】)
【1】j%I==0 【2】flag==1 【3】aver/n
21.1请补充main函数,该函数的功能是:打印出满足个位的数字、十位上的数字和百位上的数字都相等的所有三位数。
本题的结果为:
111 222 333 444 555 666 777 888 999。
注意:部分源程序给出如下。
请勿改动main函数和其他函数中的任何内容,仅在main函数的横线上填入所编写的若干表达式或语句。
试题程序:
if(【1】)
printf("%5d",【2】);
【1】g==s&&s==b或者g==b&&s= 15、b或者g==s&&g==b
【2】g+s*10+b*100
22.1请补充函数fun,该函数的功能是:判断一个数的个位数字和百位数字之和是否等于其十位上的数字,是则返回"yes!",否则返回"no!"。
注意:部分源程序给出如下。
请勿改动main函数和其他函数中的任何内容,仅在函数fun的横线上填入所编写的若干表达式或语句。
试题程序:
b=【1】;
if((g+b)==s)
return【2】;
else
return【3】;
printf("\n\n\n");23.1请补充函数fun,该函数的功能是:把数组aa中的偶数元素按原来的先后顺序放 16、在原数组后面。
例如,输入"33,67,42,58,25,76,85,16,41,56",输出结果"33,67,25,85,41,42,58,76,16,56"。
注意:部分源程序给出如下。
请勿改动main函数和其他函数中的任何内容,仅在函数fun的横线上填入所编写的若干表达式或语句。
试题程序:
if (【1】)
bb[k++]=aa[I];
else
aa[j++]=aa[I];
}
for(I=0;【2】;I++,j++)
【1】aa[I]%2==0 【2】I 17、来的先后顺序放在原数组后面。
例如,输入"33,67,42,58,25,76,85,16,41,56",输出结果"33,67,25,85,41,42,58,76,16,56"。
注意:部分源程序给出如下。
请勿改动main函数和其他函数中的任何内容,仅在函数fun的横线上填入所编写的若干表达式或语句。
试题程序:
if (【1】)
for(I=0;【2】;I++,j++)
【1】aa[I]%2==0 【2】I 18、main函数和其他函数中的任何内容,仅在函数fun的横线上填入所编写的若干表达式或语句。
试题程序:
if (【1】)
if (【2】)
flag=1;
return【3】;
【1】n%100!=0或n%100 【2】n%400==0 【3】flag
25.1给定程序的功能是:判断字符ch是否与串str中的某个字符相同,若相同什么也不做,若不同则插在串的最后。
注意:部分源程序给出如下。
请勿改动函数main和其他函数中的任何内容,仅在横线上填入所编写的若干表达式或语句。
试题程序:
if (*str【1】ch)
【2】=0;
fun(【3】);
【 19、1】!= 【2】str[1]或*(str+1) 【3】s,c
26.1请补充函数fun,该函数的功能是:判断一个数是否为素数。该数是素数时,函数返回字符串:yes!,否则函数返回字符串:no!,并在主函数中输
出。
注意:部分源程序给出如下。
请勿改动main函数和其他函数中的任何内容,仅在函数fun的横线上填入所编写的若干表达式或语句。
试题程序:
【1】
for(I=【2】;I 20、字符串中的内容逆置。
例如:字符串中原有的字符串为abcde,则调用该函数后,串中的内容为edcba。
注意:部分源程序给出如下。
请勿改动main函数和其他函数中的任何内容,仅在函数fun的横线上填入所编写的若干表达式或语句。
试题程序:
for (i=0;i 21、));
}
【1】n/100%10 【2】″yes!″ 【3】″no!″
28.1给定程序的功能是:分别统计字符串中大写字母和小写字母的个数。
例如,给字符串ss输入:AaaaBBbl23CCccccd,则输出结果应为:upper=5,lower=9。
注意:部分源程序给出如下。
请勿改动函数中的其他内容,仅在横线上填入所编写的若干表达式或语句。
试题程序:
【1】;
if (*s>='a' &&*s<='z')
【2】;
printf("\nupper=%dlower =%d\n",【3】);
}
【1】(*a)++或++(*a)或*a+=1或*a=*a+1
22、2】(*b)++或++(*b)或*b+=1或*b=*b+1
【3】upper,lower
29.1请补充函数fun,该函数的功能是:将字符串tt中的大写字母都改为对应的小写字母,其他字符不变。例如,若输入"Are you come from Sichuan?"
,则输出"are you come from sichuan?"。
注意:部分源程序给出如下。
请勿改动main函数和其他函数中的任何内容,仅在函数fun的横线上填入所编写的若干表达式或语句。
试题程序:
{
if((tt[i]>='A')&&( 【1】))
【2】;
}
return ( 23、3】) ;
【1】tt[i]<= ′Z′【2】tt[i]+=32 【3】tt
30.1请补充函数fun,该函数的功能是:依次取出字符串中所有的小写字母以形成新的字符串,并取代原字符串。
注意:部分源程序给出如下。
请勿改动main函数和其他函数中的任何内容,仅在函数fun的横线上填入所编写的若干表达式或语句。
试题程序:
while(【1】)
【2】;
s[I]=【3】;
【1】*p 【2】I++或++I或I+=1或I=I+1 【3】'\0'
31.1给定程序中,函数fun的功能是:在形参s所指字符串中的每个数字字符之后插入一个*号。
例如,形参 24、s所指的字符串为:def35adh3kjsdf7。执行结果为:def3*5*adh3*kjsdf7*。
注意:部分源程序给出如下。
请勿改动main函数和其他函数中的任何内容,仅在函数fun的横线上填入所编写的若干表达式或语句。
if (s[i]>='0'【1】s[i]<='9')
while (s[i+1+n]!= 【2】)
s[j+1] = 【3】;
}
【1】&& 【2】0 【3】s[j]或*(s+j)
32.1函数fun的功能是:逆置数组元素中的值。形参n给出数组中数据的个数。
例如:若a所指数组中的数据依次为:l、2、3、4、5、6、7、8、9,则逆置后为:9、8 25、7、6、5、4、3、2、 l。
注意:部分源程序给出如下。
请勿改动main函数和其他函数中的任何内容,仅在函数fun的横线上填入所编写的若干表达式或语句。
试题程序:
for (i=0; i<【1】;i++)
a[i]=a[n-1-【2】];
【3】=t;
【1】n/2 【2】i 【3】a[n - i - 1]
33.1请补充函数fun,该函数的功能是:把从主函数中输入的字符串str2接在字符串str1的后面。
例如:str1="How do",str2=" you do?",结果输出:How do you do?
注意:部分源程序给出如下。
请勿改 26、动main函数和其他函数中的任何内容,仅在函数fun的横线上填入所编写的若干表达式或语句。
试题程序:
while(【1】)
I++;
for( ;【2】;I++)
*(p1+I)=【3】;
【1】*(p1+I) 【2】*p2 【3】*p2++
34.1请补充main函数,该函数的功能是:从键盘输入一个长整数,如果这个数是负数,则取它的绝对值,并显示出来。例如,输入:-3847652,结果为
:3847652。
注意:部分源程序给出如下。
请勿改动main函数和其他函数中的任何内容,仅在函数fun的横线上填入所编写的若干表达式或语句。
试题程序:
27、 scanf(【1】);
【2】
printf("\n\n");
printf(【3】);
}
【1】″%ld″,&n 【2】n=-n; 【3】 ″%ld″, n
35.1请补充函数fun,该函数的功能是:把一个整数转换成字符串,并倒序保存在字符数组str中。例如:当n=13572468时,str="86427531"。
注意:部分源程序给出如下。
请勿改动main函数和其他函数中的任何内容,仅在函数fun的横线上填入所编写的若干表达式或语句。
试题程序:
while(【1】)
{
str[I]=【2】;
【3】;
}
【1】n>0 28、2】n%10+′0′【3】str[I]= ′\0′
36.1请补充main函数,该函数的功能是:从键盘输入一组字符串,以'*'结束输入,并显示出这个字符串。
例如,输入abcdefghi*,结果显示adcdefghi。
注意:部分源程序给出如下。
请勿改动main函数和其他函数中的任何内容,仅在main函数的横线上填入所编写的若干表达式或语句。
试题程序:
scanf(【1】);
}while(【2】);
printf(【3】);
j++;
}
}
【1】″ %c ″,&str[I] 【2】str[I]!=′*′
【3】″%c″, str[j] 29、
37.1请补充main函数,该函数的功能是:从键盘输入若干字符放到一个字符数组中,当按回车键时结束输入,最后输出这个字符数组中的所有字符。
注意:部分源程序给出如下。
请勿改动main函数和其他函数中的任何内容,仅在main函数的横线上填入所编写的若干表达式或语句。
试题程序:
【1】;
}
s[I]=【2】;
putchar(【3】);
}
【1】break 【2】′\0′ 【3】*p++
38.1请补充函数fun,该函数的功能是:把ASCII码为偶数的字符从字符串str中删除,结果仍然保存在字符串str中,字符串str从键盘输入,其长度作为
30、参数传入函数fun。
例如,输入"abcdef",输出"ace"。
注意:部分源程序给出如下。
请勿改动main函数和其他函数中的任何内容,仅在函数fun的横线上填入所编写的若干表达式或语句。
试题程序:
【1】
{
int i, j;
【2】;
for (i=0;i 31、在原数组中。
注意:部分源程序给出如下。
仅在横线上填入所编写的若干表达式或语句,请勿改动函数中的其他任何内容。
试题程序:
for(j=0,【1】;j<=i;j++,i--)
{
t=bb[j];
【2】;
bb[i] = t;
}
printf("\n******new list*******\n");
for(i=0; i 32、这个字符及其后面的所有字符全部删除。结果仍然保存在原串
中。
例如,输入"abcdef",指定字符为'e',则输出"abcd"。
注意:部分源程序给出如下。
请勿改动main函数和其他函数中的任何内容,仅在main函数的横线上填入所编写的若干表达式或语句。
试题程序:
【1】
【2】;
}
str[I]=【3】;
}
【1】break; 【2】I++或++I或I+=1或I=I+1 【3】′\0′
41.1请补充函数fun,该函数的功能是:返回字符数组中指定字符的个数,指定字符从键盘输入。
注意:部分源程序给出如下。
请勿改动main函数和其他 33、函数中的任何内容,仅在函数fun的横线上填入所编写的若干表达式或语句。
试题程序:
while(【1】)
{
if(【2】)
n++;
I++;
}
【3】;
}
【1】s[I]或者s[I]!= ′\0′【2】s[I]==ch 【3】return n
42.1请补充main函数,该函数的功能是:从键盘输入一组整数,使用条件表达式找出最大的整数。当输入的整数为0时结束。
例如,输入1,2,3,5,4,0时,最大的数为5。
注意:部分源程序给出如下。
请勿改动main函数和其他函数中的任何内容,仅在main函数的横线上填入所编写出的若干表达 34、式或语句。
试题程序:
scanf("%d",【1】);
max=【2】num[I]:max;
}while (【3】) ;
printf("max=%d\n",max);
}
【1】&num[I] 【2】max 35、 【1】;
else
【2】;
if(max 36、b>c)?c: 【3】));
return t;
【1】a 【2】a 【3】b
45.1请补充函数fun,该函数的功能是:求出数组的最大元素在数组中的下标,并存放在k所指的存储单元中。
例如,输入如下整数:876 675 896 101 301 401 980 43l 45l 777,则输出结果为:6,980。
注意:部分源程序给出如下。
请勿改动main函数和其他函数中的任何内容,仅在函数fun的横线上填入所编写的若干表达式或语句。
试题程序:
void fun(int *s,int t,int【1】)
for (i=0; i 37、 if(【2】)
{
max=s[i];
*k=【3】;
【1】*k 【2】s[i]>max 【3】i
46.1数组xx[N]保存着一组3位数的无符号正整数,其元素的个数通过变量num传入函数fun。请补充函数fun,该函数的功能是:从数组xx中找出个位和
百位的数字相等的所有无符号整数,结果保存在数组yy中,其个数由函数fun返回。
例如:当xx[8]={135,787,232,222,424,333,141,541}时,bb[6]={787,232,222,424,333,141}。
注意:部分源程序给出如下。
请 38、勿改动main函数和其他函数中的任何内容,仅在函数fun的横线上填入所编写的若干表达式或语句。
试题程序:
#include 39、函数和其他函数中的任何内容,仅在函数fun的横线上填入所编写的若干表达式或语句。
试题程序:
#include 40、仅在横线上填入所编写的若干表达式或语句。
试题程序:
#include 41、 i;
max =【1】;
for(i=1;i 42、main函数和其他函数中的任何内容,仅在main函数的横线上填入所编写的若干表达式或语句。
试题程序:
for(I=0;I<【1】;I++)
if(aa[I] 43、请勿改动main函数和其他函数中的任何内容,仅在main函数的横线上填入所编写的若干表达式或语句。
试题程序:
for(j=0;j 44、
试题程序:
for(j=0;j 45、注意:部分源程序给出如下。
请勿改动main函数和其他函数中的任何内容,仅在函数fun的横线上填入所编写的若干表达式或语句。
试题程序:
{
if(【1】)
return 0;
else
if(【2】)
return 1;
else
return 【3】 ;
}
【1】n==0 【2】n==1 【3】fun(n-1)+fun(n-2)
54.1函数fun的功能是:统计长整数n的各位上出现数字1、2、3的次数,并用外部(全局)变量c1、c2、c3返回主函数。
例如,当n=123114350时,结果应该为:c1=3 c2=1 c3= 46、2。
注意:部分源程序给出如下。
请勿改动main函数和其他函数中的任何内容,仅在函数fun的横线上填入所编写的若干表达式或语句。
试题程序:
switch(【1】)
{
case 1:c1++;【2】;
case 2:c2++;【3】;
case 3:c3++;
}
n/=10;
}
}
main ( )
{
long n = 123114350L;
fun(n);
printf("\nThe result:\n");
printf("n=%id cl=%d c2=%d c3=%d\n",n,c1,c2,c3);
}
【1】n%10 【2】break 47、3】break
55.1给定程序的功能是:将n个人员的考试成绩进行分段统计,考试成绩放在数组a中,各分段的人数存到数组b中:成绩为60到69的人数存到b[0]中,成
绩为70到79的人数存到b[l],成绩为80到89的人数存到b[2],成绩为90到99的人数存到b[3],成绩为100的人数存到b[4],成绩为60分以下的人数存到b
[5]中。
例如,当数组a中的数据是:93、85、77、68、59、43、94、75、98。调用该函数后,数组b中存放的数据应是:l、2、l、3、0、2。
注意:部分源程序给出如下。
请勿改动main函数和其他函数中的任何内容,仅在横线上填入所编写 48、的若干表达式或语句。
试题程序:
for (i=0;i<【1】; i++)
if(a[i]<60)
b[5]++;
【2】
b[(a[i]一60)/10]++;
43,94,75,98},b[6];
fun(【3】,9);
printf("the result is:");
for(i=0;i<6;i++)
printf("%d",b[i]);
printf("\n");
}
【1】n 【2】else 【3】a,b
56.1给定程序的功能是:计算score中m个人的平均成绩aver,将低于aver的成绩放在below中,通过函数名返回人数。
例如,当scor 49、e={10,20,30,40,50,60,70,80,90},m=9时,函数返回的人数应该是4,below={10,20,30,40}。
注意:部分源程序给出如下。
请勿改动main函数和其他函数中的任何内容,仅在横线上填入所编写的若干表达式或语句。
试题程序:
#include 50、printf("\nBelow the average score are:");
for (i=0;i






