您好,欢迎访问三七文档
1、编写一计算阶乘的函数fac,在主函数中从键盘输入一个正整数,调用阶乘函数fac计算阶乘并输出计算结果。#includestdio.hlongfac(intn){longf;if(n==0)f=1;elsef=n*fac(n-1);returnf;}main(){longy;intn;printf(pleaceintuponenumber:);scanf(%d,&n);y=fac(n);printf(%d!=%ld,n,y);}2、编写一个求x的y次幂的函数pw,在main函数中从键盘输入a、b的值,然后调用pw函数求a的b次幂,并输出结果。#includestdio.hlongpw(intx,inty){longs=1;inti;for(i=1;i=y;i++)s=s*x;returns;}main(){longsum;inta,b;printf(\nEntera,b:);scanf(%d%d,&a,&b);sum=pw(a,b);printf(Thesumis%ld,sum);}3、写一函数max,计算三个数中最大数。在主函数中输入三个数,调用该函数求出其中最大数并输出。(要求:三个数为实数)#includestdio.hintmax(inta,intb,intc){intmax;if(ab)max=a;elsemax=b;if(maxc)max=c;returnmax;}main(){intx,y,z;intm;printf(\nEnterx,y,z:);scanf(%d%d%d,&x,&y,&z);m=max(x,y,z);printf(themaxis%d.,m);}_4、写一个函数计算两个正整数的最大公约数,在主函数中用scanf输入m,n两个正整数,调用函数后,打印函数返回值(即这两个正整数的最大公约数)。#includestdio.hintgcd(intm,intn){if(m%n==0)returnn;elsereturngcd(n,m%n);}main(){inta,b,c,temp;scanf(%d%d,&a,&b);if(ab){temp=a;b=temp;a=b;}c=gcd(a,b);printf(%d,c);}5、编写一个函数,该函数的功能是判断一个整数是不是素数,在main函数中调用该函数,输出200以内所有的素数。(待定)#includestdio.hvoidf(intn){(原题:输出1-1000以内所有的素数,并按每行5个输出。)inti;for(i=2;in;i++)if(n%i==0)break;if(i==n)printf(%d\t,n);}main(){intj;for(j=2;j200;j++)f(j);}6.请编一个自定义函数,功能:将给定的字符串中的所有字母改为小写字母。字符串在主函数中从键盘任意输入(容许包含空格)7、编写一个函数,该函数的功能是判断一个整数是不是素数,在main函数中输入一个整数,调用该函数,判断该数是不是素数,若是则输出“yes”,否则输出“no”#includestdio.hvoidf(intn){inti;for(i=2;in;i++)if(n%i==0)break;if(i==n)printf(yes);elseprintf(no);}main(){intm;printf(\nEnterthem:);scanf(%d,&m);f(m);}8、将1--1000中所有21的倍数存到一个一维数组中,再按每行5个数据输出到屏幕上。#includestdio.hmain(){inti,j=0,a[50];for(i=1;i=1000;i++){if(i%21==0){a[j]=i;printf(%5d,a[j]);if(j%5==4)printf(\n);j++;}}}8、在屏幕上打印以下图案:(要求打印N行,N用符号常量定义为7)****************************#includestdio.h#defineN7main(){inti,j,m;for(i=1;i=N;i++){for(j=1;j=N-i;j++)printf();for(m=1;m=i;m++)printf(*);printf(\n);}}9、输出所有在正整数200和300之间能被6整除、但不能被4整除的数,并统计这样的数有多少个。#includestdio.hmain(){inti,j=0;for(i=200;i=300;i++){if(i%6==0&&i%4!=0){j++;printf(%d\n,i);}}printf(%d\n,j);}10、求S=1/1+1/2+1/3+……+1/100(精确到小数点后三位)。#includestdio.hmain(){inti;floatsum=0;for(i=1;i=100;i++){sum=sum+1.0/i;}printf(1/1+1/2+...+1/100=%7.3f\n,sum);}11.编程计算1到20的平方和,并输出结果。(要求用for循环)#includestdio.hmain(){inti;longs=0;for(i=1;i=20;i++)s=s+i*i;printf(%ld,s);}12.编写一个程序从键盘任意个整数,求均值及低于均值的个数,输出到屏幕。#includestdio.hmain(){intn;inta[1000],i,j=0;longs=0;floatave;printf(\nEnterthenums:);scanf(%d,&n);printf(\nEnterthexs:);for(i=0;in;i++){scanf(%d,&a[i]);s=s+a[i];}ave=s*1.0/n;printf(Theaveis%f.,ave);for(i=0;in;i++)if(a[i]ave)j++;printf(%d,j);}13.编写一个程序从键盘输入10个学生的成绩到数组score中,将最高分、最低分输出。main(){intscore[10];inti;intmax,min;for(i=0;i10;i++)scanf(%d,&score[i]);max=min=score[0];for(i=0;i10;i++){if(maxscore[i])max=score[i];if(minscore[i])min=score[i];}printf(Themaxis%d.Theminis%d.,max,min);}14.在main()函数中输入一个人的年龄和性别,女士55岁退休,男士60岁退休。编写一个函数根据年龄和性别判断一个人士工作还是退休,若工作,则输出“Working!”,退休则输出“Retired!”#includestdio.hmain(){ints,a;scanf(%d%d,&s,&a);if(s=0)if(a=55)printf(sheiswork!);elseprintf(shehasRetired!);elseif(a60)printf(heiswork!);elseprintf(hehasRetired!);}12、编写一个函数求一个实数的绝对值。然后在main函数中用scanf输入任意个实数,调用该函数求它的绝对值并输出。#includestdio.hfloatfab(floatx){if(x0)returnx;elsereturn-x;}main(){floatn;floats;printf(\nEntern:);scanf(%f,&n);s=fab(n);printf(Thefabis%f\t,s);}}13、编写一个求1——n内的偶数和的函数,在main()函数中输入n,然后调用该函数求1——n的偶数和并输出。#includestdio.hlongsum(intn){inti;longsum=0;for(i=1;i=n;i++){if(i%2==0)sum=sum+i;}returnsum;}main(){intn;longs;printf(\nEntern:);scanf(%d,&n);s=sum(n);printf(Thesis%ld,s);}14、编写一个求1——n内的奇数和的函数,在main()函数中输入n,然后调用该函数求1——n的奇数和并输出。#includestdio.hlongsum(intn){longs=0;inti;for(i=1;i=n;i++){if(i%2!=0)s=s+i;}returns;}main(){intn;longs;printf(\nEntern:);scanf(%d,&n);s=sum(n);printf(Thesis%ld,s);}15、编写函数打印以下图形,将图形中的行数作为函数的形参。在main()函数中输入行数n,调用该函数打印行数为n的图形。(如:输入5,则打印出5行的三角形)***************#includestdio.hvoidprint(intn){inti,j;for(i=0;in;i++){for(j=n-i;j=1;j--)printf(*);printf(\n);}}main(){intn;printf(\nEntern:);scanf(%d,&n);print(n);}16、编写一个函数,将摄氏温度转换成华氏温度,转换公式为:f=1.8*c+32.0。在main函数中调用该函数,计算并在屏幕上显示从摄氏0度到100度,每隔10度转换一次的华氏温度。#includestdio.hfloatf(intc){floatf;f=1.8*c+32.0;returnf;}main(){inti;floats;for(i=0;i=100;i=i+10){s=f(i);printf(%f\n,s);}}15(1)编写一个函数,将三个数按由小到大的顺序排列并输出。在main函数中输入三个数,调用该函数完成这三个数的排序。#includestdio.hvoidsort(inta,intb,intc){inttemp;if(ab){temp=a;a=b;b=temp;}if(ac){temp=a;a=c;c=temp;}if(bc){temp=b;b=c;c=temp;}printf(Thesortis%d,%d,%d,a,b,c);}main(){intx,y,z;printf(\nEnterx,y,z:);scanf(%d%d%d,&x,&y,&z);sort(x,y,z);}15(2)编写一个函数,将三个数按由大到小的顺序排列并输出。在main函数中输入三个数,调用该函数完成这三个数的排序。#includestdio.hvoidsort(inta,intb,intc){inttemp;if(ab){temp=a;a=b;b=temp;}if(ac){temp=a;a=c;c=temp;}printf(Thesortis%d,%d,%d,a,b,c);}main(){intx,y,z;printf(\nEnterx,y,z:);scanf(%d%d%d,&x,&y,&z);sort(x,y,z);}16、编写一个函数,该函数的功能是打印1——n中所有7的倍数,在main()中输入n,调用该函数输出结果。#includestdio.hvoidprint(intn){inti;for(i=1;i=n;i++)if(i%7==0)printf(%d\t,i);}main(){intn;printf(\nEntern:);scanf(%d,&n);print(n);}17、写一个函数判断一个正整数是否为奇数,在主函数中用scanf输入正整数m,调用函数后,根据函数返回值判断这个正整数是否为奇数,若是则输出“yes”,否则输出“no”#includestd
本文标题:C考试题库答案
链接地址:https://www.777doc.com/doc-2907740 .html