万维考试系统C语言题库完整.docx
- 文档编号:9701309
- 上传时间:2023-02-05
- 格式:DOCX
- 页数:45
- 大小:38.19KB
万维考试系统C语言题库完整.docx
《万维考试系统C语言题库完整.docx》由会员分享,可在线阅读,更多相关《万维考试系统C语言题库完整.docx(45页珍藏版)》请在冰豆网上搜索。
万维考试系统C语言题库完整
第1题(10.0分〉题号:
390功能:
编写函数求广100中奇数的平方和。
结果为166650.000000o
答案:
floats=0;
inti;
for(i=l;i<=n;i二i+2)
s=s+i*i:
return(s);
第2题(10.0分〉题号:
320
功能:
在键盘上输入一个3行3列矩阵的各个元素的值(值为整数),然后输出主对角线元素的积,并在fun()函数中输出。
答案:
intsum;
inti>j;
sum=l;
for(i=0;i<3;i卄)
sum=sum*a[i][i];
returnsum;
第3题(10.0分〉题号:
324
功能:
能计算从1开始到n的自然数中偶数的平方的和,ri由键盘输入,并在mainO函数中输出。
(n長偶数)
答案:
intsum,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数的个位和百位上。
例如:
当a=45,b=12o调用该函数后,c=4251o
答案:
♦c=a/l0*1000+a%10*10+b/10*b%10*100;
第5题(10.0分〉题号:
366
功能:
求一组数于平均值的数的个数。
例如:
给定的一组数为1.3,6,9.4.23,35,67,12.88时,函数值为3。
答案:
inti,k=0;
floats=0.ave;
for(i=0;i s+=a[i]; ave=s/n; printf(M%fwtave); for(i=0;i if(a[i]>ave)k++; returnk; 第6題(10.0分〉题号: 355 功能: 对长度为8个字符的字符串,将8个字符按降序排列。 例如: 原来的字符串为CEAedcab,排序后输出为edcbaECAo 答案: inti.j; chart; for(i=0;i for(j=Hl;j if(s[i] {t=s[iLs[i]=s[j];s[j]=t;} 第7题(10.0分〉题号: 44 功能: 求出二维数组周边元素之和,作为函数值返回。 二 维数组的值在主函数中喩予。 答案: ints=0; inti.j; for(i=0;i for(j=l;j s=s+a[0][j]+a[M-l][j]; returns;第8題(10.0分)题号: 339 功能: 判断整数x是否是同构数。 若是同构数,函数返回1;否则返回0。 x的值由主函数从键盘读入,要求不大于100o 说明: 所谓“同构数”是指这样的数,这个数出现在它的平方数的右边。 例如: 输入整数5,5的平方数是25,5是25中右侧的数,所以5是同构数。 答案: intk; k=x*x; if((k%10==x)|! (k%100==x)) return1; else return0; 第9题(10.0分〉题号: 383 功能: 用函数实现字符串的复制.不允许用strcpyO函数。 答案: inti; for(i=0;strl[i]! =r\0*: i++) str2[i]=strl[i]: str2[i]='\0‘; 第10题(10.0分)题号: 310 功能: 计算并输出给定整数n的所有因子之和(不包括1与自身)。 注意: n的值不大于1000。 例如: n的值为855时,应输出704。 答案: ints=0.i; for(i=2;i if(n%i==0)s=s+i; returns; 第11题(10.0分)题号: 354 功能: 求小于lim的所有素数并放在aa数组中,该函数返回 所求出素数的个数。 答案: intn=0; inti.j; for(i=2;i<=lim;i+十){for(j=2;j 第12题(10.0分)题号: 341 功能: 删除所有值为y的元素。 数组元素中的值和y的值由主函数通过键盘输入。 答案: inti.j; for(i=0;i<*n;) { if(bb[i]==y) {for(j=i;j<»n;j++) bb[j]=bb[j+l]; } else i卄; 第13题(10.0分)题号: 317 功能: 求出NXM整型数组的最大元素及其所在的行坐标及列坐标(如果最大元索不唯一,选择位置在最前面 的一个)。 例如: 输入的数组为: ► 1 2 3 4 15 6 12 18 9 10 11 2 求出的最大数为1&行坐标为2,列坐标为1。 答案: intmax,i,j; max=array[0][0]; Row=0; Col=0; For(i二0;i<¥;i++) {for(j=0;j Col=j;} } return(max); 第14题(10.0分)题号: 392 功能: 求一批数中最大值和最小值的积。 答案: intijnax,min;max=min=a[0j;for(i=l;i if(a[i]>max)max=a[i];elseif(a[i] 第15题(10.0分)题号: 501 題目: 从键盘输入一个大写字母,要求改用小写字母输出。 答案: c二c+32; returnc; 第16题(10.0分)题号: 502 題目: 用while语句求1〜100的累计和。 答案: inti=l,sum=0; while(i<=n) { sum二sum+i; i卄; I'eturnsum; 第17题(10.0分)题号: 409 題目: 输入华氏温度求摄氏温度。 转换公式为c=5/9(f-32),输出结果取两位小数。 答案: floatn; n=(5.0/9.0)*(m-32); retui'nn; 第18题(10.0分)题号: 29 功能: 对任意输入的X,用下式计算并输出y的值。 5x<10 y=0 x=10 -5 x>10 答案: intm; if(n<10) m=5; else if(n==10)m=0; elsem=-5;returnm; 或 intm;if(n>=10)if(n>10)m=_5;elsem=0;elsem=5;returnin; 第19题(10.0分)题号: 382 功能: 给定n个数据,求最小值出现的位置(如果最小值 出现多次,求出第一次出现的位置即可)。 答案: inti.k; k=0; for(i=l;i 第20题(10.0分)题号: 367 功能: 找出一批正整数中的最大的偶数。 答案: intitamax=-l;for(i=0;i 第21题(10.0分)题号: 384 功能: 产生20个[30.120]±的随机整数放入二维数组a[5][4] 中,求每行元素的和。 答案: inti,j; for(i=0;i<5;i++) {b[i]=0; for(j=0;j<4;j++) b[i]=b[i]+a[i][j]; 第22题(10.0分)题号: 334功能: 求给定正整数n以的素数之税。 (228) longi.k: longs=l; for(i=2;i<=n;i+十) {for(k=2;k } returns; 第23题(10.0分)题号: 363 功能: 求一个给定字符串中的字母的个数。 答案: inti,k=0;for(i=0;s[i]! =,\0*: i卄) if(s[i]>='a,&&s[i]<=,z,I|s[i]>=,A,&&s[i]<=,Z,)k十+; returnk; 第24题(10.0分)题号: 361 功能: 编写程序,求矩阵(3行3列)与2的乘积例如: 输入下面的矩阵: 100200300 400500600 700800900 程序输出: 200400600 80010001200 140016001800 答案: inti.j; for(i=0;i<3;i+十) for(j=0;j<3;j++) array[i][j]=array[i][j「*2; 第25题(10.0分)题号: 400 功能: 编写main程序调用函数fact求解从m个元素选n个元素的组合数的个数。 计算公式是: 组合数=m! /(n! .(m-n)! )。 要求: m不能小于n,否则应有容错处理。 说明: 函数fact(x)的功能是求x! 。 while(m { printf(wm和n输入错! 请重新输入: \n*): scanf(*%d%d\&m,&n); } zhsgs=fact(m)/(fact(n)*fact(m-n)); 第26题(10.0分)题号: 411 功能: 对任意输入的x,用下式计算并输出y的值。 -1x<0 y=0x=0 1x>0 答案: intm; if(n<0) m=-l; else if(n==0)m=0; elsem=l; returnm; 或 intm; if(n>=0) if(n>0) m=l; elsem=0; elsem=-l;returnin; 第27题(10.0分)题号: 509 功能: 编写函数fun其功能是: 根据整型形参m,计算如下 公式的值: y=l+1/3+1/5+1/7+-+1/(2m+l) 例如: 若呼9,则应输出: 2.133256 答案: doubley=L; inti: for(i=l;i<=m;i++) {y+=1.0/(2*i+l);} return(y); 第28题(10.0分)题号: 394 功能: 产生20个[30.120]上的随机整数放入二维数组a[5][4]中,求其中的最小值。 intijs; s=a[0][0]: for(i=0;i<5;i++) for(j=0;j<4;j++) if(s>a[i][j])s=a[i][j]: return(s); 第29题(10.0分)题号: 330 功能: 计算出k以最大的10个能被13或17整除的自然数之和。 (k〈3000)。 答案: inta=0,b=0; while((k>=2)&&(b<10)) {if((k%13=0);|(k%! 7==0)) {a=a十k;b十+;} returna; 第30题(10.0分)题号: 364功能: 求一个四位数的各位数字的立方和。 答案: intd,s=0; while(n>0) {d=n%10; s+=d*d*d; n/=10; } returns; 第31题(10.0分)题号: 348 功能: 从低位开始取出长整型变虽S中偶数位上的数,依次构成一个新数放在t中。 例如: 当s中的数为: 7654321时,t中的数为: 642o 答案: longsl=10; s/=10;t=s%10;while(s>0) {s=s/100; t=s%L0*sl十t;si=si♦10: 第32题(10.0分)题号: 313 功能: 从键盘为一维整型数组输入10个整数,调用fun函数找出其中最小的数,并在main函数中输出。 答案: intmin,i: min=x[0]: for(i=l;i {if(x[i] returnmin; 第33题(10.0分)题号: 391 功能: 将字符串中的小写字母转換为对应的大写字母,其它字符不变。 答案: inti; for(i=0;str[i]! =*\0f;i++) if(str&&str[i]<=*z,) str[i]=str[订-32; 第34题(10.0分)题号: 397 功能: 编写函数fun(str.i.n),从字符串str中刪除第i个字符开始的连续n个字符(注意: str[0]代表字符串的第一个字符)。 答案: while(str[i+n-l]) str[i-l]=str[i+n-1];i卄; } str[i-l]=r\0*; 第35题(10.0分)题号: 325 功能: 在键盘上输入一个3行3列矩阵的各个元素的值(值为整数),然后输出主对角线元素的平方和,并在fun()函数中输出。 答案: intsum; inti;sum二0;for(i=0;i<3;i++) sum二sum+a[i][i]*a[i][i]; returnsum; 第36题(10.0分)题号: 388 功能: 编写函数判断一个整数能否同时被3和5整除,若能则返回值为1,否则为0。 调用该函数求出15~300之间能同时被3和5整除的数的个数。 答案: if(n%3==0&&n%5==0)return (1); return(0); 第37题(10.0分)题号: 399 功能: 编写程序求无理数e的值并输出。 计算公式为: e=l+l/l! +l/2! +l/3! ++l/n! 当l/n! <0.000001时e=2.718282。 答案: longintj; inti9k; doublee.jc; i=l; e=0.0; jc=1.0; while(jc>=0.000001) e=e+jc; for(k=l;k<=i;k++)j=J*k; jc=l.0/j;i++; } returne; 第38题(10.0分)题号: 312 功能: 调用函数fun判断一个三位数是否•水仙花数"。 在main函数中从键盘输入一个三位数,并檢出判断结果。 请编写fun函数。 说明: 所谓"水仙花数"是指一3位数,其各位数字立方和等于该数本身。 例如: 153是一个水仙花数,因为153=1+125+27。 答案: intbw,sw.gw; bw=n/100: sw=(n-bw*I00)/10;gw=n%10; if(n==bw*bw*bw+sw*sw*sw+gw*gw*gw)return1; elsereturn0; 第39题(10.0分)题号: 335 功能: 求一个n位自然数的各位数字的积。 (n是小于10的自然数) 答案: longd,s=l; while(n>0) {d=n%10; s*=d; n/=10; } returns; 第40题(10.0分)题号: 379 功能: 给定n个数据,求最大值出现的位置(如果最大值出 现多次,求出第一次出现的位置即可)。 答案: inti.k; k=0; for(i=l;i<=n;i++) if(s[i]>s[k])k=i; return(k+1): 第41题(10.0分)题号: 22 功能: 从継盘为一维整型数组输入10个整数,调用fun函数找出其中最小的数,并在main函数中输出。 请编写fun函数。 答案: intmin.i; min=x[0]: for(i=l;i {if(x[i] 第42题(10.0分)题号: 381 功能: 求一批数中小于平均值的数的个数。 答案: intitsum=0,k=0; doubleaverage;for(i=0;i average=sum*1.0/n;for(i=0;i return(k); 第43题(10.0分)题号: 352 功能: 根据整型形参m,计算如下公式的值: 尸1/2+1/4+ 1/6+..・+l/2mo 例如: 若呼9,则应输出: 1.414484 答案: doubley=0; inti; for(i=l;i<=m;i卄) {y+=1.0/(2*i);} return(y): 第44题(10.0分)题号: 33 功能: 用do-while语句求1〜100的累计和。 答案: inti=1,sum=0; do sum=sum+1; i卄; }while(i<=n); returnsum; 第45题(10.0分)题号: 347 功能: 把20个随机数存入一个数组,然后输出该数组中的最小值。 其中确定最小值的下标的操作在fun函数中实现,请给出该函数的定义。 • inti,min=0; for(i=l;i if(list[min]>1ist[i]) min=i; returnmin; 第46题(10.0分)题号: 343 功能: 将两个两位数的正整数a、b合并形成一个整数放在c中。 合并的方式是: 将a数的十位和个位数依次放在c数的个位和百位上,b数的十位和个位数依次放在c数的十位和千位上。 例如: 当a=45>b=12t调用该函数后,c二2514。 答案: ♦c=a/10+8%10*100+b/10*10+b%10*1000; 第47题(10.0分)题号: 504功能: 编写程序打印如图1所示图形。 ♦ ♦♦♦ ***** ******* *♦* ♦ 要求: 要求使用abs()。 答案: For(m=-i;ni<=i;m++) { for(n=0;n for(n=0;n<7-2*abs(m): n++)printf(M*h);printf; 第48题(10.0分)题号: 365功能: 求1到100之间的偶数之积。 答案: doubley=l; inti; for(i=l;i<=m;i十+〉 if(i%2==0)y*=i; returny; 第49题(10.0分)题号: 410 功能: 编写函数fun将一个数组中的值按逆序存放,并在main()函数中输出。 例如: 原来存顺序为8,6,5,4,lo要求改为: 1.4.5.6.8。 答案: inti.t; for(i=0;i {t=arr[i]; arr[i]=arr[n-l-i]; arr[n~l-i]=t; 第50题(10.0分)题号: 373 功能: 用函数求fibonacci数列前n项的和。 说明: fibonacci数列为数列的第一项值为I,第二项值也为1,从第三项开始,每一项均为其前面相邻两项的和。 例如: 当n=28时,运行结果: 832039 答案: longftk=fl+f2; inti; for(i=3;i<=28;i++) {f=fl+f2; k=k+f; fl=f2; f2=f; } return(k); 第51题(10.0分)题号: 378 功能: 编写函数用冒泡排序法对数组中的数据进行从小到 大的排序。 答案: inti.j.t; for(i=0;i for(j=0;j 第52题(10.0分)题号: 323 功能: 求1到w之间的奇数之和。 (w是大于等于100小于等于1000的整数) 答案: longy=0; inti; for(i=l;i<=w;i++) if(i%2==l)y+=i; returny; 第53题(10.0分)题号: 380 功能: 用辗转相除法求两个整数的最大公约数。 答案: intr,t; if(n r=n%m; while(r! =0) {n=m;m=r;r=n%m;: return(m); 第54题(10.0分)题号: 503 題目: 分别统计字符串中字母、数字、空格和其他字符出现的次数(字符长度小于80)。 答案: inti; for(i=0;c[i]! =*\0r;i++) if((c[i]>=,A*&&c[i]<=*Z,)I(c[i]>=>a,&&c[i]<=*z1)) a=a+L; elseif(c[i]>='0,&&c[i]<=,9,) num二num+1; elseif(c[i]==**) b二b+1; else other=other+l; 第55题(10.0分)题号: 395 功能: 求n阶方阵主、副对角线上的元素之税。 答案: inti.j; floatt=l; for(i=0;i for(j=0;j if(i==ji|i+j==N-l) t=t*arr[i][j]; return(t): 第56题(10.0分)题号: 318 功能: 输入一个字符串,过滤此串,只保留串中的字母字符,并统计新生成串中包含的字母个数。 例如: 输入的字符串为ab234$df4,新生成的串为abdf。 答案: inti,j; for(i=0tj=0;*(ptr+i)! ='\0r: i++) if(*(ptr+i)<=,z,&&*(ptr+i)>=*a,*(ptr+i)<=,Zr&&*(ptr+i)>=*/\,) {♦(ptr+j)=*(ptr+i); j卄;} *(ptr+j)=t\0,; return(j); 第57题(10.0分)题号: 311 功能: 计算n门课程的平均值,计算结果作为函数值返回。 例如: 若有5门课程的成绩是: 92,76,69,5&8&则函数的值为76.600000。 答案: inti; floaty=0; for(i=0;i returny; 第58题(10.0分)题号: 358功能: 根据整型形參m,计算如下公式的值: y=sin(m)*10o 例如: 若呼9,则应输出
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 考试 系统 语言 题库 完整