万维考试系统-C语言题库_第1页
万维考试系统-C语言题库_第2页
万维考试系统-C语言题库_第3页
万维考试系统-C语言题库_第4页
万维考试系统-C语言题库_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第1题 (10.0分) 题号:390功能:编写函数求1100中奇数的平方和。 结果为166650.000000。答案:-float s=0; int i; for(i=1;i=n;i=i+2) s=s+i*i; return(s);-第2题 (10.0分) 题号:320功能:在键盘上输入一个3行3列矩阵的各个元素的值(值 为整数),然后输出主对角线元素的积,并在fun() 函数中输出。答案:-int sum;int i,j;sum=1;for(i=0;i3;i+) sum=sum*aii; return sum;-第3题 (10.0分) 题号:324功能:能计算从1开始到n的自然数中偶数的平方

2、的和,n由 键盘输入,并在main()函数中输出。(n是偶数)答案:-int sum,i;sum =0;for(i=2;i=n;i=i+2)sum=sum+i*i;return(sum);-第4题 (10.0分) 题号:345功能:将两个两位数的正整数a、b合并形成一个整数放在c 中。合并的方式是:将a数的十位和个位数依次放在 c数的千位和十位上, b数的十位和个位数依次放在 c数的个位和百位上。 例如:当a45,b=12。调用该函数后,c=4251。 答案:-*c=a/10*1000+a%10*10+b/10+b%10*100;- 第5题 (10.0分) 题号:366功能:求一组数中大于平均

3、值的数的个数。例如:给定的一组数为1,3,6,9,4,23,35,67,12,88时,函 数值为3。答案:-int i,k=0; float s=0,ave; for(i=0;in;i+) s+=ai; ave=s/n; printf(%f ,ave); for(i=0;iave)k+; return k;-第6题 (10.0分) 题号:355功能:对长度为8个字符的字符串,将8个字符按降序排列。例如:原来的字符串为CEAedcab,排序后输出为edcbaECA。答案:- int i,j; char t; for(i=0;inum;i+) for(j=i+1;jnum;j+) if(sisj)

4、 t=si;si=sj;sj=t;-第7题 (10.0分) 题号:44功能:求出二维数组周边元素之和,作为函数值返回。二 维数组的值在主函数中赋予。答案:-int s=0; int i,j; for(i=0;iM;i+) s=s+ai0+aiN-1; for(j=1;jN-1;j+) s=s+a0j+aM-1j; return s;-第8题 (10.0分) 题号:339功能:判断整数x是否是同构数。若是同构数,函数返回1; 否则返回0。x的值由主函数从键盘读入,要求不大 于100。说明:所谓“同构数”是指这样的数,这个数出现在它的 平方数的右边。例如:输入整数5,5的平方数是25,5是25中右

5、侧的数,所 以5是同构数。答案:- int k; k=x*x; if(k%10=x)|(k%100=x) return 1; else return 0;-第9题 (10.0分) 题号:383功能:用函数实现字符串的复制, 不允许用strcpy()函数。答案:-int i; for(i=0;str1i!=0;i+) str2i=str1i; str2i=0;-第10题 (10.0分) 题号:310功能:计算并输出给定整数n的所有因子之和(不包括1与 自身)。注意:n的值不大于1000。例如:n的值为855时,应输出704。答案:-int s=0,i; for(i=2;in;i+) if(n%i

6、=0)s=s+i; return s;-第11题 (10.0分) 题号:354功能:求小于lim的所有素数并放在aa数组中,该函数返回 所求出素数的个数。答案:- int n=0; int i,j; for(i=2;i=lim;i+) for(j=2;ji;j+) if(i%j=0) break; if(j=i) aan+=i; return n;-第12题 (10.0分) 题号:341功能:删除所有值为y的元素。数组元素中的值和y的值由 主函数通过键盘输入。答案:- int i,j; for(i=0;i*n;) if(bbi=y) for(j=i;j*n;j+) bbj=bbj+1; *n=

7、*n-1; else i+; -第13题 (10.0分) 题号:317功能:求出NM整型数组的最大元素及其所在的行坐标及 列坐标(如果最大元素不唯一,选择位置在最前面 的一个)。例如:输入的数组为: 1 2 3 4 15 6 12 18 9 10 11 2 求出的最大数为18,行坐标为2,列坐标为1。答案:-int max,i,j;max=array 00;Row=0;Col=0;for(i=0;iN;i+) for(j=0;jM;j+) if(maxarray ij) max=array ij; Row=i;Col=j;return(max);-第14题 (10.0分) 题号:392功能:求

8、一批数中最大值和最小值的积。答案:- int i,max,min; max=min=a0; for(i=1;imax) max=ai; else if(aimin) min=ai; return(max*min);-第15题 (10.0分) 题号:501题目:从键盘输入一个大写字母,要求改用小写字母输出。答案: c=c+32; return c;第16题 (10.0分) 题号:502题目:用while语句求1100的累计和。答案: int i=1,sum=0; while(i=n) sum=sum+i; i+; return sum;第17题 (10.0分) 题号:409题目:输入华氏温度求摄

9、氏温度。转换公式为 c=5/9(f-32), 输出结果取两位小数。答案: float n; n=(5.0/9.0)*(m-32); return n; 第18题 (10.0分) 题号:29功能:对任意输入的 x,用下式计算并输出 y 的值。 5 x10答案: int m; if(n=10) if(n10) m=-5; else m=0; else m=5;return m;第19题 (10.0分) 题号:382功能:给定n个数据, 求最小值出现的位置(如果最小值 出现多次,求出第一次出现的位置即可)。答案:-int i,k; k=0; for(i=1;in;i+) if(sisk) k=i;

10、return(k);-第20题 (10.0分) 题号:367功能:找出一批正整数中的最大的偶数。答案:-int i,amax=-1; for(i=0;iamax) amax=ai; return amax;-第21题 (10.0分) 题号:384功能:产生20个30,120上的随机整数放入二维数组a54 中,求每行元素的和。答案:- int i,j; for(i=0;i5;i+) bi=0; for(j=0;j4;j+) bi=bi+aij; -第22题 (10.0分) 题号:334功能:求给定正整数n以内的素数之积。(n28)答案:-long i,k;long s=1; for(i=2;i=

11、n;i+) for(k=2;k=a&si=A&si=Z) k+; return k;-第24题 (10.0分) 题号:361功能:编写程序, 求矩阵(3行3列)与2的乘积 例如:输入下面的矩阵: 100 200 300 400 500 600 700 800 900 程序输出: 200 400 600 800 1000 1200 1400 1600 1800 答案:-int i,j; for(i=0; i 3; i+) for(j=0; j 3; j+) arrayij=arrayij*2; -第25题 (10.0分) 题号:400功能:编写main程序调用函数fact求解从m个元素选n个元

12、素的组合数的个数。计算公式是: 组合数m!/(n!.(m-n)!)。要求:m不能小于n,否则 应有容错处理。说明:函数fact(x)的功能是求x!。答案:-while(mn) printf(m和n输入错!请重新输入:n); scanf(%d%d,&m,&n); zhsgs=fact(m)/(fact(n)*fact(m-n);-第26题 (10.0分) 题号:411功能:对任意输入的 x,用下式计算并输出 y 的值。 -1 x0答案: int m; if(n=0) if(n0) m=1; else m=0; else m=-1;return m;第27题 (10.0分) 题号:509功能:编写

13、函数fun其功能是:根据整型形参m,计算如下 公式的值:y=11/31/51/71/(2m+1)例如:若m=9,则应输出:2.133256答案:- double y=1; int i; for(i=1; i=m; i+) y+=1.0/(2*i+1); return(y);-第28题 (10.0分) 题号:394功能:产生20个30,120上的随机整数放入二维数组 a54中, 求其中的最小值。答案:-int i,j,s; s=a00; for(i=0;i5;i+) for(j=0;jaij)s=aij; return(s);-第29题 (10.0分) 题号:330功能:计算出k以内最大的10个

14、能被13或17整除的自然数之 和。(k3000)。答案:-int a=0,b=0;while(k=2)&(b0) d=n%10; s+=d*d*d; n/=10; return s;-第31题 (10.0分) 题号:348功能:从低位开始取出长整型变量s中偶数位上的数,依次 构成一个新数放在t中。 例如:当s中的数为:7654321时,t中的数为:642。答案:-long sl=10;s /= 10; t = s % 10;while(s 0) s = s/100; t = s%10*sl + t;sl = sl * 10;-第32题 (10.0分) 题号:313功能:从键盘为一维整型数组输入

15、10个整数,调用fun函数 找出其中最小的数,并在main函数中输出。答案:- int min,i;min=x0;for(i=1;in;i+)if(xi=a & stri=z) stri=stri-32;-第34题 (10.0分) 题号:397功能:编写函数fun(str,i,n),从字符串str中删除第i个 字符开始的连续n个字符(注意:str0代表字符串 的第一个字符)。答案:-while(stri+n-1) stri-1=stri+n-1; i+; stri-1=0;-第35题 (10.0分) 题号:325功能:在键盘上输入一个3行3列矩阵的各个元素的值(值 为整数),然后输出主对角线元

16、素的平方和,并在 fun()函数中输出。答案:-int sum;int i;sum=0;for(i=0;i3;i+) sum=sum+aii*aii; return sum;-第36题 (10.0分) 题号:388功能:编写函数判断一个整数能否同时被3和5整除,若能 则返回值为1,否则为0。调用该函数求出15300之 间能同时被3和5整除的数的个数。答案:-if(n%3=0&n%5=0) return(1); return(0);-第37题 (10.0分) 题号:399功能:编写程序求无理数e的值并输出。计算公式为: e=1+1/1!+1/2!+1/3!+.+1/n! 当1/n!=0.0000

17、01) e=e+jc; j=1; for(k=1;k0) d=n%10; s*=d; n/=10; return s;-第40题 (10.0分) 题号:379功能:给定n个数据, 求最大值出现的位置(如果最大值出 现多次,求出第一次出现的位置即可)。答案:-int i,k; k=0; for(i=1;isk) k=i; return(k+1);-第41题 (10.0分) 题号:22功能:从键盘为一维整型数组输入10个整数,调用fun 函数找出其中最小的数,并在main函数中输出。 请编写fun函数。答案:-int min,i;min=x0;for(i=1;in;i+)if(ximin) min

18、=xi;return min;-第42题 (10.0分) 题号:381功能:求一批数中小于平均值的数的个数。答案:-int i,sum=0,k=0; double average; for(i=0;in;i+) sum=sum+ai; average=sum*1.0/n; for(i=0;iai) k+;return(k);-第43题 (10.0分) 题号:352功能:根据整型形参m,计算如下公式的值:y=1/21/4 1/6.1/2m 。例如:若m=9,则应输出:1.414484答案:- double y=0; int i; for(i=1; i=m; i+) y+=1.0/(2*i); r

19、eturn(y);-第44题 (10.0分) 题号:33功能:用do-while语句求1100的累计和。答案: int i =1, sum =0; do sum = sum + i; i+; while ( i = n ); return sum;第45题 (10.0分) 题号:347功能:把20个随机数存入一个数组,然后输出该数组中的 最小值。其中确定最小值的下标的操作在fun函数中 实现,请给出该函数的定义。 答案:-int i,min=0; for(i=1; i listi) min=i; return min;-第46题 (10.0分) 题号:343功能:将两个两位数的正整数a、b合并

20、形成一个整数放在c 中。合并的方式是: 将a数的十位和个位数依次放 在c数的个位和百位上, b数的十位和个位数依次放 在c数的十位和千位上。 例如: 当a=45,b=12, 调用该函数后, c=2514。答案:-*c=a/10+a%10*100+b/10*10+b%10*1000; -第47题 (10.0分) 题号:504功能:编写程序打印如图1所示图形。 * * * * * *要求:要求使用abs()。答案: for(m=-i;m=i;m+) for(n=0;nabs(m);n+) printf( ); for(n=0;n7-2*abs(m);n+) printf(*); printf(n)

21、; 第48题 (10.0分) 题号:365功能:求1到100之间的偶数之积。答案:-double y=1; int i; for(i=1;i=m;i+) if(i%2=0)y*=i; return y;-第49题 (10.0分) 题号:410功能:编写函数fun将一个数组中的值按逆序存放,并在 main()函数中输出。例如:原来存顺序为8,6,5,4,1。要求改为:1,4,5,6,8。答案:-int i,t; for(i=0;in/2;i+) t=arri; arri=arrn-1-i; arrn-1-i=t; -第50题 (10.0分) 题号:373功能:用函数求fibonacci数列前n项

22、的和。说明:fibonacci数列为数列的第一项值为1,第二项值也 为1,从第三项开始,每一项均为其前面相邻两项 的和。例如:当n=28时,运行结果:832039答案:- long f,k=f1+f2; int i; for(i=3;i=28;i+) f=f1+f2; k=k+f; f1=f2; f2=f; return(k);-第51题 (10.0分) 题号:378功能:编写函数用冒泡排序法对数组中的数据进行从小到 大的排序。答案:-int i,j,t; for(i=0;in-1;i+) for(j=0;jaj+1) t=aj; aj=aj+1; aj+1=t; -第52题 (10.0分)

23、题号:323功能:求1到w之间的奇数之和。(w是大于等于100小于等 于1000的整数)答案:-long y=0; int i; for(i=1;i=w;i+) if(i%2=1)y+=i; return y;-第53题 (10.0分) 题号:380功能:用辗转相除法求两个整数的最大公约数。答案:-int r,t; if(n=A&ci=a&ci=0&ci=9) num=num+1; else if (ci= ) b=b+1; else other=other+1;第55题 (10.0分) 题号:395功能:求n阶方阵主、副对角线上的元素之积。答案:-int i,j; float t=1; fo

24、r(i=0;iN;i+) for(j=0;jN;j+) if(i=j|i+j=N-1) t=t*arrij; return(t);-第56题 (10.0分) 题号:318功能:输入一个字符串,过滤此串,只保留串中的字母字 符,并统计新生成串中包含的字母个数。例如:输入的字符串为ab234$df4,新生成的串为abdf 。答案:- int i,j;for(i=0,j=0;*(ptr+i)!=0;i+)if(*(ptr+i)=a|*(ptr+i)=A)*(ptr+j)=*(ptr+i);j+;*(ptr+j)=0;return(j);-第57题 (10.0分) 题号:311功能:计算n门课程的平均

25、值,计算结果作为函数值返回。例如:若有5门课程的成绩是:92,76,69,58,88, 则函数的值为76.600000。答案:-int i; float y=0; for(i=0;in;i+) y+=ai; y=y/n; return y;-第58题 (10.0分) 题号:358功能:根据整型形参m,计算如下公式的值:y=sin(m)*10。例如:若m=9,则应输出:4.121185答案:- double y=0; y=sin(m)*10; return(y);-第59题 (10.0分) 题号:23功能:从键盘输入一个大于3的整数,调用函数fun判断 其是否素数,然后在main函数中输出相应的

26、结论 信息。例如:7是素数,8不是素数。请编写fun函数。素数是 仅能被1和自身整除的数答案:-int i;int j;j= 1;for(i=2;i 0) s = s/100; t = s%10*sl + t;sl = sl * 10;-第61题 (10.0分) 题号:332功能:根据整型参数n,计算如图公式的值。答案:-double a=1;int i;for(i=1;in;i+)a=1.0/(1+a);return a;-第62题 (10.0分) 题号:327功能:能计算从1开始到n的自然数的和,n由键盘输入, 并在main()函数中输出。答案:-int sum,i;sum =0;for(

27、i=1;i=n;i+)sum=sum+i;return(sum);-第63题 (10.0分) 题号:351功能:请编一个函数void fun(int ttMN,int ppN), tt指向一个M行N列的二维数组,求出二维数组每列 中最大元素,并依次放入pp所指一维数组中。二维 数组中的数已在主函数中赋予。答案:- int i,j; for(j=0;jN;j+) ppj=tt0j; for(i=1;ippj) ppj=ttij; -第64题 (10.0分) 题号:389功能:编写函数求表达式的和(n的值由主函数输入)。 1-1/2+1/3-1/4+.+1/m例如:当n=20时,表达式的值为0.6

28、68771。答案:-float s=0; int i,k=1; for(i=1;i=n;i+) s=s+k*1.0/i; k=-k; return(s);-第65题 (10.0分) 题号:54功能:求1到100之间的偶数之积。答案:-double y=1; int i; for(i=1;i=m;i+) if(i%2=0)y*=i; return y;-第66题 (10.0分) 题号:353功能:对长度为7个字符的字符串,除首、尾字符外,将其 余5个字符按降序排列。例如:原来的字符串为CEAedca,排序后输出为CedcEAa。答案:- int i,j; char t; for(i=1;inum

29、-1;i+) for(j=i+1;jnum-1;j+) if(si0)return(k*fun(k-1);else if(k=0)return 1L;-第68题 (10.0分) 题号:346功能:将从键盘上输入的每个单词的第一个字母转换为 大写字母,输入时各单词必须用空格隔开,用. 结束输入。 答案:-if (*c= ) return 1;else if(status & *c = a)*c += A - a;return 0;-第69题 (10.0分) 题号:403功能:编写函数fun,求任一整数m的n次方。答案:-long int x=1; int i; for(i=1;i=n;i+) x

30、=x*m; return x;-第70题 (10.0分) 题号:387功能:求一批数中最大值和最小值的差。答案:-int i,max,min; max=min=a0; for(i=1;imax) max=ai; else if(aimin) min=ai; return(max-min);-第71题 (10.0分) 题号:336功能:从字符串中删除指定的字符。同一字母的大、小写 按不同字符处理。例如:若程序执行时输入字符串为:turbocandborlandc+ 从键盘上输入字符:n,则输出后变为:turbocadbo rladc+,如果输入的字符在字符串中不存在,则字 符串照原样输出。 答案

31、:- char *q=s; for(; *q; q+) if(*q != c) *(s+)=*q; *s=0;-第72题 (10.0分) 题号:338功能:编写程序,实现矩阵(3行3列)的转置(即行列互换) 例如:输入下面的矩阵: 100 200 300 400 500 600 700 800 900 程序输出: 100 400 700 200 500 800 300 600 900 答案:-int i,j,t; for(i=0; i 3; i+) for(j=0; j i; j+) t=arrayij; arrayij=arrayji; arrayji=t; -第73题 (10.0分) 题号:42功能:从字符串s中删除指定的字符c。答案:-int i,k=0; for(i=0;si!=0;i

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论