您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > 万维考试系统-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;i3;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;in;i++)s+=a[i];ave=s/n;printf(%f,ave);for(i=0;in;i++)if(a[i]ave)k++;returnk;----------------------第6题(10.0分)题号:355功能:对长度为8个字符的字符串,将8个字符按降序排列。例如:原来的字符串为CEAedcab,排序后输出为edcbaECA。答案:----------------------inti,j;chart;for(i=0;inum;i++)for(j=i+1;jnum;j++)if(s[i]s[j]){t=s[i];s[i]=s[j];s[j]=t;}----------------------第7题(10.0分)题号:44功能:求出二维数组周边元素之和,作为函数值返回。二维数组的值在主函数中赋予。答案:----------------------ints=0;inti,j;for(i=0;iM;i++)s=s+a[i][0]+a[i][N-1];for(j=1;jN-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;elsereturn0;----------------------第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;in;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;ji;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;}elsei++;}----------------------第13题(10.0分)题号:317功能:求出N×M整型数组的最大元素及其所在的行坐标及列坐标(如果最大元素不唯一,选择位置在最前面的一个)。例如:输入的数组为:12341561218910112求出的最大数为18,行坐标为2,列坐标为1。答案:----------------------intmax,i,j;max=array[0][0];Row=0;Col=0;for(i=0;iN;i++){for(j=0;jM;j++)if(maxarray[i][j]){max=array[i][j];Row=i;Col=j;}}return(max);----------------------第14题(10.0分)题号:392功能:求一批数中最大值和最小值的积。答案:----------------------inti,max,min;max=min=a[0];for(i=1;in;i++)if(a[i]max)max=a[i];elseif(a[i]min)min=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的值。5x10y=0x=10-5x10答案:intm;if(n10)m=5;elseif(n==10)m=0;elsem=-5;returnm;或intm;if(n=10)if(n10)m=-5;elsem=0;elsem=5;returnm;第19题(10.0分)题号:382功能:给定n个数据,求最小值出现的位置(如果最小值出现多次,求出第一次出现的位置即可)。答案:----------------------inti,k;k=0;for(i=1;in;i++)if(s[i]s[k])k=i;return(k);----------------------第20题(10.0分)题号:367功能:找出一批正整数中的最大的偶数。答案:----------------------inti,amax=-1;for(i=0;in;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;i5;i++){b[i]=0;for(j=0;j4;j++)b[i]=b[i]+a[i][j];}----------------------第22题(10.0分)题号:334功能:求给定正整数n以内的素数之积。(n28)答案:----------------------longi,k;longs=1;for(i=2;i=n;i++){for(k=2;ki;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的乘积例如:输入下面的矩阵:100200300400500600700800900程序输出:20040060080010001200140016001800答案:----------------------inti,j;for(i=0;i3;i++)for(j=0;j3;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(mn){printf(m和n输入错!请重新输入:\n);scanf(%d%d,&m,&n);}zhsgs=fact(m)/(fact(n)*fact(m-n));----------------------第26题(10.0分)题号:411功能:对任意输入的x,用下式计算并输出y的值。-1x0y=0x=01x0答案:intm;if(n0)m=-1;elseif(n==0)m=0;elsem=1;returnm;或intm;if(n=0)if(n0)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][
本文标题:万维考试系统-C语言题库
链接地址:https://www.777doc.com/doc-5408372 .html