万维考试系统C语言题库.docx
- 文档编号:4367205
- 上传时间:2022-12-01
- 格式:DOCX
- 页数:47
- 大小:28.30KB
万维考试系统C语言题库.docx
《万维考试系统C语言题库.docx》由会员分享,可在线阅读,更多相关《万维考试系统C语言题库.docx(47页珍藏版)》请在冰豆网上搜索。
万维考试系统C语言题库
第1题(10.0分)题号:
390
功能:
编写函数求1~100中奇数的平方和。
结果为166650.000000。
答案:
----------------------
floats=0;
inti;
for(i=1;i<=n;i=i+2)
s=s+i*i;
return(s);
----------------------
第2题(10.0分)题号:
320
功能:
在键盘上输入一个3行3列矩阵的各个元素的值(值
为整数),然后输出主对角线元素的积,并在fun()
函数中输出。
答案:
----------------------
intsum;
inti,j;
sum=1;
for(i=0;i<3;i++)
sum=sum*a[i][i];
returnsum;
----------------------
第3题(10.0分)题号:
324
功能:
能计算从1开始到n的自然数中偶数的平方的和,n由
键盘输入,并在main()函数中输出。
(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=12。
调用该函数后,c=4251。
答案:
----------------------
*c=a/10*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("%f",ave); for(i=0;i if(a[i]>ave)k++; returnk; ---------------------- 第6题(10.0分)题号: 355 功能: 对长度为8个字符的字符串,将8个字符按降序排列。 例如: 原来的字符串为CEAedcab,排序后输出为edcbaECA。 答案: ---------------------- inti,j; chart; for(i=0;i for(j=i+1;j if(s[i] {t=s[i];s[i]=s[j];s[j]=t;} ---------------------- 第7题(10.0分)题号: 44 功能: 求出二维数组周边元素之和,作为函数值返回。 二 维数组的值在主函数中赋予。 答案: ---------------------- ints=0; inti,j; for(i=0;i s=s+a[i][0]+a[i][N-1]; for(j=1;j s=s+a[0][j]+a[M-1][j]; returns; ---------------------- 第8题(10.0分)题号: 339 功能: 判断整数x是否是同构数。 若是同构数,函数返回1; 否则返回0。 x的值由主函数从键盘读入,要求不大 于100。 说明: 所谓“同构数”是指这样的数,这个数出现在它的 平方数的右边。 例如: 输入整数5,5的平方数是25,5是25中右侧的数,所 以5是同构数。 答案: ---------------------- intk; k=x*x; if((k%10==x)||(k%100==x)) return1; else return0; ---------------------- 第9题(10.0分)题号: 383 功能: 用函数实现字符串的复制,不允许用strcpy()函数。 答案: ---------------------- inti; for(i=0;str1[i]! ='\0';i++) str2[i]=str1[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 if(i%j==0)break; if(j==i)aa[n++]=i; } returnn; ---------------------- 第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+1]; *n=*n-1; } else i++; } ---------------------- 第13题(10.0分)题号: 317 功能: 求出N×M整型数组的最大元素及其所在的行坐标及 列坐标(如果最大元素不唯一,选择位置在最前面 的一个)。 例如: 输入的数组为: 123 4156 12189 10112 求出的最大数为18,行坐标为2,列坐标为1。 答案: ---------------------- intmax,i,j; max=array[0][0]; Row=0; Col=0; for(i=0;i {for(j=0;j if(max {max=array[i][j]; Row=i; Col=j;} } return(max); ---------------------- 第14题(10.0分)题号: 392 功能: 求一批数中最大值和最小值的积。 答案: ---------------------- inti,max,min; max=min=a[0]; for(i=1;i if(a[i]>max)max=a[i]; elseif(a[i] return(max*min); ---------------------- 第15题(10.0分)题号: 501 题目: 从键盘输入一个大写字母,要求改用小写字母输出。 答案: c=c+32; returnc; 第16题(10.0分)题号: 502 题目: 用while语句求1~100的累计和。 答案: inti=1,sum=0; while(i<=n) { sum=sum+i; i++; } returnsum; 第17题(10.0分)题号: 409 题目: 输入华氏温度求摄氏温度。 转换公式为c=5/9(f-32), 输出结果取两位小数。 答案: floatn; n=(5.0/9.0)*(m-32); returnn; 第18题(10.0分)题号: 29 功能: 对任意输入的x,用下式计算并输出y的值。 5x<10 y=0x=10 -5x>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; returnm; 第19题(10.0分)题号: 382 功能: 给定n个数据,求最小值出现的位置(如果最小值 出现多次,求出第一次出现的位置即可)。 答案: ---------------------- inti,k; k=0; for(i=1;i if(s[i] return(k); ---------------------- 第20题(10.0分)题号: 367 功能: 找出一批正整数中的最大的偶数。 答案: ---------------------- inti,amax=-1; for(i=0;i if(a[i]%2==0) if(a[i]>amax)amax=a[i]; returnamax; ---------------------- 第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以内的素数之积。 (n<28) 答案: ---------------------- longi,k; longs=1; for(i=2;i<=n;i++) {for(k=2;k if(i%k==0)break; if(k==i)s=s*i; } returns; ---------------------- 第23题(10.0分)题号: 363 功能: 求一个给定字符串中的字母的个数。 答案: ---------------------- inti,k=0; for(i=0;s[i]! ='\0';i++) if(s[i]>='a'&&s[i]<='z'||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("m和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=-1; else if(n==0)m=0; elsem=1; returnm; 或 intm; if(n>=0) if(n>0) m=1; elsem=0; elsem=-1; returnm; 第27题(10.0分)题号: 509 功能: 编写函数fun其功能是: 根据整型形参m,计算如下 公式的值: y=1+1/3+1/5+1/7+…+1/(2m+1) 例如: 若m=9,则应输出: 2.133256 答案: ---------------------- doubley=1; inti; for(i=1;i<=m;i++) {y+=1.0/(2*i+1);} return(y); ---------------------- 第28题(10.0分)题号: 394 功能: 产生20个[30,120]上的随机整数放入二维数组 a[5][4]中,求其中的最小值。 答案: ---------------------- inti,j,s; 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%17==0)) {a=a+k;b++;} k--; } 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中的数为: 642。 答案: ---------------------- longsl=10; s/=10; t=s%10; while(s>0) {s=s/100; t=s%10*sl+t; sl=sl*10; } ---------------------- 第32题(10.0分)题号: 313 功能: 从键盘为一维整型数组输入10个整数,调用fun函数 找出其中最小的数,并在main函数中输出。 答案: ---------------------- intmin,i; min=x[0]; for(i=1;i {if(x[i] returnmin; ---------------------- 第33题(10.0分)题号: 391 功能: 将字符串中的小写字母转换为对应的大写字母, 其它字符不变。 答案: ---------------------- inti; for(i=0;str[i]! ='\0';i++) if(str[i]>='a'&&str[i]<='z') str[i]=str[i]-32; ---------------------- 第34题(10.0分)题号: 397 功能: 编写函数fun(str,i,n),从字符串str中删除第i个 字符开始的连续n个字符(注意: str[0]代表字符串 的第一个字符)。 答案: ---------------------- while(str[i+n-1]) { str[i-1]=str[i+n-1]; i++; } str[i-1]='\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=1+1/1! +1/2! +1/3! +......+1/n! 当1/n! <0.000001时e=2.718282。 答案: ---------------------- longintj; inti,k; doublee,jc; i=1; e=0.0; jc=1.0; while(jc>=0.000001) { e=e+jc; j=1; for(k=1;k<=i;k++) j=j*k; jc=1.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*100)/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=1; while(n>0) {d=n%10; s*=d; n/=10; } returns; ---------------------- 第40题(10.0分)题号: 379 功能: 给定n个数据,求最大值出现的位置(如果最大值出 现多次,求出第一次出现的位置即可)。 答案: ---------------------- inti,k; k=0; for(i=1;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=1;i {if(x[i] returnmin; ---------------------- 第42题(10.0分)题号: 381 功能: 求一批数中小于平均值的数的个数。 答案: ---------------------- inti,sum=0,k=0; doubleaverage; for(i=0;i sum=sum+a[i]; average=sum*1.0/n; for(i=0;i if(average>a[i])k++; return(k); ---------------------- 第43题(10.0分)题号: 352 功能: 根据整型形参m,计算如下公式的值: y=1/2+1/4+ 1/6+...+1/2m。 例如: 若m=9,则应输出: 1.414484 答案: ---------------------- doubley=0; inti; for(i=1;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+i; i++; }while(i<=n); returnsum; 第45题(10.0分)题号: 347 功能: 把20个随机数存入一个数组,然后输出该数组中的 最小值。 其中确定最小值的下标的操作在fun函数中 实现,请给出该函数的定义。 答案: ---------------------- inti,min=0; for(i=1;i if(list[min]>list[i]) min=i; returnmin; ---------------------- 第46题(10.0分)题号: 343 功能: 将两个两位数的正整数a、b合并形成一个整数放在c 中。 合并的方式是:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 考试 系统 语言 题库