C语言习题.docx
- 文档编号:23057378
- 上传时间:2023-04-30
- 格式:DOCX
- 页数:34
- 大小:21.95KB
C语言习题.docx
《C语言习题.docx》由会员分享,可在线阅读,更多相关《C语言习题.docx(34页珍藏版)》请在冰豆网上搜索。
C语言习题
1.
请补充fun函数,fun函数的功能是:
求m的阶乘。
请勿改动程序中的其他任何内容,仅在所给程序中的下划线处填入正确内容并将下划线删除,使程序得出正确的结果。
注意:
部分源程序给出如下。
#include
longfun(intm)
{
if(__1__)
return(m*fun(__2__));
return__3__;
}
voidmain()
{
printf("8!
=%ld\n",fun(8));
}
2.
请补充fun函数,fun函数的功能是:
判断一个年份是否为闰年。
例如,2007年不是闰年,2008年是闰年。
请勿改动程序中的其他任何内容,仅在所给程序中的下划线处填入正确内容并将下划线删除,使程序得出正确的结果。
注意:
部分源程序给出如下。
#include
#include
intfun(intn)
{
intflag=0;
if(n%4==0)
if(__1__)
flag=1;
if(__2__)
flag=1;
return__3__;
}
voidmain()
{
intyear;
printf("inputtheyear:
");
scanf("%d",&year);
if(fun(year))
printf("%disaleapyear.\n",year);
else
printf("%disnotaleapyear.\n",year);
}
3.
请补充fun函数,fun函数的功能是:
从三个形参x、y、z中找出中间的那个数,作为函数值返回。
例如,当x=121,y=456,z=333时,中间的数为333。
请勿改动程序中的其他任何内容,仅在所给程序中的下划线处填入正确内容并将下划线删除,使程序得出正确的结果。
注意:
部分源程序给出如下。
#include
intfun(inta,intb,intc)
{
inttemp;
temp=(a>b)?
(b>c?
b:
(a>c?
c:
__1__)):
((a>c)?
__2__:
((b>c)?
c:
__3__));
returntemp;
}
voidmain()
{
intx=121,y=456,z=333,mid;
min=fun(x,y,z);
printf("\nThemiddlenumberis:
%d\n",mid);
}
4.
请补充fun函数,fun函数的功能是:
把字符串中的内容逆置。
例如,字符串中原有的字符串为"ABCDE",则调用fun函数后,串中的内容为"EDCBA"。
请勿改动程序中的其他任何内容,仅在所给程序中的下划线处填入正确内容并将下划线删除,使程序得出正确的结果。
注意:
部分源程序给出如下。
#include
#include
#include
#defineM60
voidfun(char*t)
{
intj,m=strlen(t)-1;
chars;
for(j=0;j { s=t[i]; __2__; __3__; } } voidmain() { charb[M]; printf("Inputastring: "); gets(b); printf("Theoriginalstringis: "); puts(b); fun(b); printf("\n"); printf("Thereversalstringis: "); puts(b); } 5. 请补充main函数,main函数的功能是: 从键盘输入一个长整数,如果这个数是负数,则取它的绝对值,并显示出来。 例如,输入: -666,结果为: 666。 请勿改动程序中的其他任何内容,仅在所给程序中的下划线处填入正确内容并将下划线删除,使程序得出正确的结果。 注意: 部分源程序给出如下。 #include #include voidmain() { longinta; printf("Enterthedata: \n"); scanf(__1__); printf("Theoriginaldatais%ld\n",a); if(a<0) __2__; printf("\n"); printf(__3__); } 6. 请补充fun函数,fun函数的功能是: 计算并输出m(包括m)以内能被2或5整除的所有自然数的倒数之和。 例如,在主函数中从键盘给m输入21后,输出为: s=1.731151. 请勿改动程序中的其他任何内容,仅在所给程序中的下划线处填入正确内容并将下划线删除,使程序得出正确的结果。 注意: 部分源程序给出如下。 #include doublefun(intm) { intj; doubletoal=0.0; for(j=1;__1__;j++) if(j%2==0__2__j%5==0) toal+=__3__/j; returntoal; } voidmain() { intm; doublef; printf("\nInputm: "); scanf("%d",&m); f=fun(m); printf("\n\ns=%f\n",f); } 7. 请补充main函数,main函数的功能是: 从键盘输入的3个整数按从大到小输出。 例如,输入116513,结果输出651311。 请勿改动程序中的其他任何内容,仅在所给程序中的下划线处填入正确内容并将下划线删除,使程序得出正确的结果。 注意: 部分源程序给出如下。 #include #include voidmain() { inta,b,c,t; printf("Inputa,b,c\n"); scanf("%d%d%d",&a,&b,&c); if(__1__) { t=a; a=b; b=t; } if(__2__) { t=c; c=a; a=t; } if(__3__) { t=b; b=c; c=t; } printf("Theresult\n"); printf("frombigtosmall: %d%d%d\n",a,b,c); } 8. 请补充程序,该程序的功能是: 分别统计字符串中大写字母和小写字母的个数,并输出统计结果。 例如,给字符串str输入: afd34ddfbFFDEsD23sdF,则输出结果应为: cap=6,min=10 请勿改动程序中的其他任何内容,仅在所给程序中的下划线处填入正确内容并将下划线删除,使程序得出正确的结果。 注意: 部分源程序给出如下。 #include voidfun(char*str,int*x,int*y) { while(*str) { if(*str>='A'&&*str<='Z') __1__; if(*str>='a'&&*str<='z') __2__; str++; } } voidmain() { charstr[100]; intcap=0,min=0; printf("\nPleaseinputastringtocount: "); gets(str); fun(str,&cap,&min); printf("\ncap=%dmin=%d\n",__3__); } 9. 给定程序的功能是求1/4的圆周长,函数通过形参得到圆的直径,函数返回1/4的圆周长。 例如,输入圆的直径值: 19.527,输出为: 15.336457。 请勿改动程序中的其他任何内容,仅在所给程序中的下划线处填入正确内容并将下划线删除,使程序得出正确的结果。 注意: 部分源程序给出如下。 #include doublefun(doubled) { return3.14159*__1__/4.0; } voidmain() { doublez; printf("Inputthedoftheround: "); scanf("%lf",&__2__); printf("L=%lf\n",fun(__3__)); } 10. 请补充fun函数,fun函数的功能是: 统计长整数test的各位上出现数字5、6、7的次数,并通过外部(全局)变量sum5、sum6、sum7返回主函数。 例如,当test=89431676时,结果应该为: sum5=0sum6=2sum7=1。 请勿改动程序中的其他任何内容,仅在所给程序中的下划线处填入正确内容并将下划线删除,使程序得出正确的结果。 注意: 部分源程序给出如下。 #include intsum5,sum6,sum7; voidfun(longtest) { sum5=sum6=sum7=0; while(test) { switch(__1__) { case5: sum5++; __1__; case6: sum6++; __2__; case7: sum7++; } test/=10; } } voidmain() { longtest=89431676L; fun(test); printf("\nThecountresult: \n"); printf("test=%ldsum5=%dsum6=%dsum7=%d\n",test,sum5,sum6,sum7); } 11. 请补充main函数,main函数的功能是: 对所给的一组整数,使用条件表达式找出最大的整数,当遇到的整数为-1时结束。 例如,所给整数为9612123343232548936589-1时,最大的数为365。 请勿改动程序中的其他任何内容,仅在所给程序中的下划线处填入正确内容并将下划线删除,使程序得出正确的结果。 注意: 部分源程序给出如下。 #include #include #defineNUM100 intmain() { intn[NUM]={96,121,23,343,232,54,89,365,89,-1}; inti=-1; intMAX=-1; do { i++; MAX=__1__n[i]: MAX; }while(__2__); printf("TheMAX=%d\n",MAX); return1; } 12. 请补充fun函数,fun函数的功能是: 将字符串str中的小写字母都改为对应的大写字母,其他字符不变。 例如,当str内容为“Welcome123! ”时,程序输出结果为: “WELCOME123! ”。 请勿改动程序中的其他任何内容,仅在所给程序中的下划线处填入正确内容并将下划线删除,使程序得出正确的结果。 注意: 部分源程序给出如下。 #include #include #include char*fun(charstr[]) { intj; for(j=0;str[j];j++) { if((str[j]>='a')&&(__1__)) str[j]-=__2__; } return(__3__); } intmain() { charstr[80]="Welcome123! "; printf("\nTheoriginalresultstringis: %s\n",str); printf("\nTheresultstringis: %s\n",fun(str)); return1; } 13. 请补充fun函数,fun函数的功能是: 依次取出字符串中所有大写字母,形成新的字符串,并取代原字符串。 例如,当字符串内容为aAdfSsDd时,程序输出结果为: ASD。 请勿改动程序中的其他任何内容,仅在所给程序中的下划线处填入正确内容并将下划线删除,使程序得出正确的结果。 注意: 部分源程序给出如下。 #include #include voidfun(char*s) { intj=0; char*p=s; while(__1__) { if(*p>='A'&&*p<='Z') { s[j]=*p; __2__; } p++; } s[j]=__3__; } intmain() { charstr[100]="aAdfSsDd12sg"; printf("\nTheoriginalresultstringis: %s\n",str); fun(str); printf("\nTheresultstringis: %s\n",str); return1; } 14. 请补充fun函数,fun函数的功能是: 判断字符串s中是否存在与字符ch相同的字符,若存在什么也不做,若不同则把ch字符插在字符串的最后。 例如,当字符串s内容为test,字符ch内容为e时,输出结果为: test,但若ch内容为a时,输出结果为: testa。 请勿改动程序中的其他任何内容,仅在所给程序中的下划线处填入正确内容并将下划线删除,使程序得出正确的结果。 注意: 部分源程序给出如下。 #include #include voidfun(char*s,charch) { while(*s&&*s! =ch) s++; if(*s__1__ch) { s[0]=ch; s[1]='\0'; } } intmain() { charstr[81]="test"; charc='a'; printf("\nThestringis: %s\n",str); printf("\nThecharacteris: %c\n",c); fun(str,c); printf("\nTheresultstringis: %s\n",str); return1; } 15. 给定程序的功能是: 计算score数组n个人的平均成绩aver,将高于平均分的分数放在high数组中,并返回高于平均分的人数。 例如,当score数组中的数据为50、65、75、60、80、88、90、70、95时,函数返回的人数应该是5,high中的数据应为75、80、88、90、95。 请勿改动程序中的其他任何内容,仅在所给程序中的下划线处填入正确内容并将下划线删除,使程序得出正确的结果。 #include #include #include intfun(intscore[],intn,inthigh[]) { intj,k=0,average=0; for(j=0;j average+=score[j]; average/=n; for(j=0;j if(score[j]>average) { high[k]=score[j]; k++; } returnk; } intmain() { intj,m,high[9]; intscore[9]={50,60,65,70,75,80,88,90,95}; printf("\nTheoriginalscoreare: "); for(j=0;j<9;j++) printf("%d",score[j]); m=fun(score,9,high); printf("\nHightheaveragescoreare: "); for(j=0;j printf("%d",high[j]); return0; } 16. 请补充main函数,main函数的功能是: 找出3个整数中最小的数并输出。 例如,所给整数为9612123,则输出为23。 请勿改动程序中的其他任何内容,仅在所给程序中的下划线处填入正确内容并将下划线删除,使程序得出正确的结果。 注意: 部分源程序给出如下。 #include #include intmain() { intx=96,y=121,z=23,min; printf("\nTheoriginalthreenumbersare: %d%d%d\n",x,y,z); if(x __1__; else __2__; if(__3__) min=z; printf("\nmin=%d\n",min); return0; } 17. 请补充fun函数,fun函数的功能是: 输出数组元素中小于平均值的元素。 例如,数组中元素的值依次为3454675456453121,则程序的运行结果为3454121。 请勿改动程序中的其他任何内容,仅在所给程序中的下划线处填入正确内容并将下划线删除,使程序得出正确的结果。 注意: 部分源程序给出如下。 #include #include voidfun(__1__,intn) { doubletotal=0.0; doubleaverage=0.0; inti=0; for(i=0;i __2__; average=__3__; for(i=0;i if((a[i] { if(i%5==0) printf("\n"); printf("%d,",a[i]); } } intmain() { inta[100]={34,54,675,456,453,121}; inti=6; fun(a,i); return1; } 18. 请补充fun函数,fun函数的功能是: 求不超过给定自然数的各奇数之和。 例如,当给定自然数为34,则输出结果为289。 请勿改动程序中的其他任何内容,仅在所给程序中的下划线处填入正确内容并将下划线删除,使程序得出正确的结果。 注意: 部分源程序给出如下。 #include intfun(intn) { inti,sum; sum=__1__; for(i=1;__2__;i+=2) sum+i; returnsum; } intmain() { inta=34; printf("\nsum=%d\n",fun(a)); return1; } 19. 斐波纳契数列是一种整数数列,其中第0个和第1个数依次为0和1,其他每个数等于前面两个数之和,如0112358......。 请补充fun函数,fun函数的功能是: 返回斐波纳契数列的第m项,例如,当m=6时,则fun返回结果为8。 请勿改动程序中的其他任何内容,仅在所给程序中的下划线处填入正确内容并将下划线删除,使程序得出正确的结果。 注意: 部分源程序给出如下。 #include intfun(intm) { if(__1__) return0; elseif(__2__) return1; else return__3__; } intmain() { inti,m=7; for(i=0;i printf("%d",fun(i)); return1; } 20. /*请补充fun函数,fun函数的功能是: 求一维数组的平均值,并对所得结果进行四舍五入保留两位小数。 例如,当数组元素依次为: 23.112.35.356.410.013.724.5421.29.9时,则输出结果为: average=19.840000。 请勿改动程序中的其他任何内容,仅在所给程序中的下划线处填入正确内容并将下划线删除,使程序得出正确的结果。 注意: 部分源程序给出如下。 */ #include #include doublefun(doublea[10]) { inti; longtemp; doubleaverage=0.0; doublesum=0.0; for(i=0;i<10;i++) __1__; average=sum/10; average=__2__; temp=__3__; average=(double)temp/100; returnaverage; } intmain() { doubleaverage,a[10]={23.1,12.3,5.3,56.4,10.0,13.7,24.5,42,1.2,9.9}; inti; printf("\nThearray: \n"); for(i=0;i<10;i++) printf("%6.1f",a[i]); printf("\n\n"); average=fun(a); printf("Theaverage=%f\n\n",average); } 21. /*请补充fun函数,fun函数的功能是: 分类统计一个字符串中元音字母和其他字符的个数(不区分大小写)。 例如,当字符串为UdsaeyiEosu,结果为A: 1E: 2I: 1O: 1U: 2other: 4。 请勿改动程序中的其他任何内容,仅在所给程序中的下划线处填入正确内容并将下划线删除,使程序得出正确的结果。 注意: 部分源程序给出如下。 */ #include #include #defineN100 voidfun(char*s,inta[]) { char*r=s; inti=0; for(i=0;i<6;i++) __1__; while(*r) { switch(*r) { case'A': case'a': a[0]++; break; case'E': case'e': a[1]++; break; case'I': case'i':
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 习题
![提示](https://static.bdocx.com/images/bang_tan.gif)