首页 万维考试系统-C语言题库.

万维考试系统-C语言题库.

举报
开通vip

万维考试系统-C语言题库.第1题(10.0分)题号:390功能:编写函数求1~100中奇数的平方和结果为166650.000000。答案:floats=0;inti;for(i=1;iave)k++;returnk;第6题(10.0分)题号:355功能:对长度为8个字符的字符串,将8个字符按降序排列例如:原来的字符串为CEAedcab,排序后输出为edcbaECA。答案:inti,j;chart;for(i=0;i

万维考试系统-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;iave)k++;returnk;第6题(10.0分)题号:355功能:对长度为8个字符的字符串,将8个字符按降序排列例如:原来的字符串为CEAedcab,排序后输出为edcbaECA。答案:inti,j;chart;for(i=0;imax)max=a[i];elseif(a[i]10答案:intm;if(n<10)m=5;elseif(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;iamax)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〈i;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;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(m0答案:intm;if(n<0)m=-1;elseif(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=l+l/3+l/5+l/7——l/(2m+l)例如:若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='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!当l/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;ia[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;ilist[i])min=i;returnmin;第46题(10.0分)题号:343功能:将两个两位数的正整数a、b合并形成一个整数放在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所示图形。****XT^****要求:要求使用abs()。答案:for(m=-i;m<=i;m++){for(n=0;na[j+1]){t=a[j];a[j]=a[j+1];a[j+1]=t;}第52题(10.0分)题号:323功能:求1到W之间的奇数之和。(W是大于等于100小于等于1000的整数)答案:longy=0;inti;for(i=1;i<=w;i++)if(i%2==1)y+=i;returny;第53题(10.0分)题号:380功能:用辗转相除法求两个整数的最大公约数答案:intr,t;if(n='A'&&c[i]<='Z')||(c[i]>='a'&&c[i]<='z'))a=a+1;elseif(c[i]>='0'&&c[i]<='9')num=num+1;elseif(c[i]=='')b=b+1;elseother=other+1;第55题(10.0分)题号:395功能:求n阶方阵主、副对角线上的元素之积。答案:inti,j;floatt=1;for(i=0;i='a'||*(ptr+i)<='Z'&&*(ptr+i)>='A'){*(ptr+j)=*(ptr+i);j++;}*(ptr+j)='\0';return(j);第57题(10.0分)题号:311功能:计算n门课程的平均值,计算结果作为函数值返回。例如:若有5门课程的成绩是:92,76,69,58,88,则函数的值为76.600000。答案:inti;floaty=0;for(i=0;i0){s=s/100;t=s%10*sl+t;sl=sl*10;}第61题(10.0分)题号:332功能:根据整型参数n,计算如图公式的值。答案:doublea=1;inti;for(i=1;ipp[j])pp[j]=tt[i][j];}第64题(10.0分)题号:389功能:编写函数求表达式的和(n的值由主函数输入)。1-1/2+1/3-1/4++1/m例如:当n=20时,表达式的值为0.668771。答案:floats=0;inti,k=1;for(i=1;i<=n;i++){s=s+k*1.0/i;k=-k;}return(s);第65题(10.0分)题号:54功能:求1到100之间的偶数之积答案:doubley=1;inti;for(i=1;i<=m;i++)if(i%2==0)y*=i;returny;第66题(10.0分)题号:353功能:对长度为7个字符的字符串,除首、尾字符外,将其余5个字符按降序排列。例如:原来的字符串为CEAedca,排序后输出为CedcEAa。答案:inti,j;chart;for(i=1;i0)return(k*fun(k-1));elseif(k==0)return1L;第68题(10.0分)题号:346功能:将从键盘上输入的每个单词的第一个字母转换为大写字母,输入时各单词必须用空格隔开,用'.结束输入。答案:if(*c=='')return1;else{if(status&&*c<='z'&&*c>='a')*c+='A'-'a';return0;}第69题(10.0分)题号:403功能:编写函数fun,求任一整数m的n次方。答案:longintx=1;inti;for(i=1;i<=n;i++)x=x*m;returnx;第70题(10.0分)题号:387功能:求一批数中最大值和最小值的差答案:inti,max,min;max=min=a[0];for(i=1;imax)max=a[i];elseif(a[i]0){d=n%10;s+=d*d*d;n/=10;}returns;第79题(10.0分)题号:322功能:判断一个整数w的各位数字平方之和能否被5整除,可以被5整除则返回1,否则返回0。答案:intk,s=0;do{s=s+(w%10)*(w%10);w=w/10;}while(w!=0);if(s%5==0)k=1;elsek=0;return(k);第80题(10.0分)题号:326功能:求一个大于10的n位整数的后nT位的数,并作为函数值返回。答案:intn=0;inti=1;while(w>10){n=n+i*(w%10);w/=10;i*=10;}returnn;第81题(10.0分)题号:321功能:编写函数fun其功能是:根据整型形参m,计算如下公式的值:y=1/2!+1/4!+・・・+1/m!(m是偶数)答案:doubley=0.0;inti,j;doubles=1;for(i=2;i<=m;i+=2){for(j=i-1;j<=i;j++)s=s*j;y=y+1.0/s;}returny;第82题(10.0分)题号:337功能:将两个两位数的正整数a、b合并形成一个整数放在c中。合并的方式是:将a数的十位和个位数依次放在c数的百位和个位上,b数的十位和个位数依次放在c数的十位和千位上。例如:当a=45,b=12。调用该函数后,c=2415。答案:*c=a/10*100+a%10+b/10*10+b%10*1000;第83题(10.0分)题号:396功能:编写函数fun对主程序中用户输入的具有10个数据的数组a按由大到小排序,并在主程序中输出排序结果。答案:intk,j,t;for(k=0;k1e-4);returnr1;第86题(10.0分)题号:372题目:用函数求一个N阶方阵右下三角元素的和(包括副对角线上的元素)。答案:inti,j,k=0;for(i=0;i=5)return(int)(h*100+1)/100.0;elsereturn(int)(h*100)/100.0;第91题(10.0分)题号:333功能:计算并输出给定整数的所有因子之积(包括自身)规定这个整数的值不大于50。答案:longs=1,i;for(i=2;i〈=n;i++)if(n%i==0)s=s*i;returns;第92题(10.0分)题号:62功能:求5行5列矩阵的主、副对角线上元素之和。注意两条对角线相交的元素只加一次。例如:主函数中给出的矩阵的两条对角线的和为45。答案:ints=0;inti,j;for(i=0;i〈M;i++)s=s+a[i][i]+a[i][M-1-i];s=s-a[(M-1)/2][(M-1)/2];returns;第93题(10.0分)题号:375功能:从键盘上输入任意实数,求出其所对应的函数值z=e的x次幕(x>10)z=log(x+3)(x>-3)z=sin(x)/((cos(x)+4)答案:doublez;if(x>10)z=exp(x);elseif(x>-3)z=log(x+3);elsez=sin(x)/(cos(x)+4);return(z);第94题(10.0分)题号:452功能:有一个一维数组score,内放10个学生的成绩,用一个函数来求平均成绩。例如:如果10个学生的成绩分别为92,87,68,56,92,8470,65,90,60则平均成绩为:76.400000答案:inti;floataver,sum=array[0];for(i=1;i<10;i++)sum=sum+array[i];aver=sum/10;returnaver;第95题(10.0分)题号:377功能:编写函数用选择排序法对数组中的数据进行从小到大的排序。答案:inti,j,k,t;for(i=0;ia[j])k=j;if(k!=i){t=a[i];a[i]=a[k];a[k]=t;}}第96题(10.0分)题号:357功能:根据整型形参m,计算如下公式的值:y=1/5+1/6+1/7+1/8+1/9+1/10...+1/(m+5)例如:若m=9,则应输出:1.168229答案:doubley=0;inti;for(i=0;i<=m;i++){y+=1.0/(i+5);}return(y);第97题(10.0分)题号:56功能:找出一批正整数中的最大的偶数答案:inti,amax=-1;for(i=0;iamax)amax=a[i];returnamax;第98题(10.0分)题号:319功能:判断m是否为素数。答案:inti,k=1;if(m<=1)k=0;for(i=2;i=0&&x〈10.0&&x!=2.0&&x!=3.0)y=x*x-5*x+6;elsey=x*x-x-1;returny;第107题(10.0分)题号:393功能:编写函数求3!+6!+9!+12!+15+18!+21!答案:inti,j;floatt,s=0;for(i=3;i<=n;i=i+3){t=1;for(j=1;j<=i;j++)t=t*j;s=s+t;}return(s);第108题(10.0分)题号:350功能:请编一个函数voidfun(inttt[M][N],intpp[N]),tt指向一个M行N列的二维数组,求出二维数组每列中最小元素,并依次放入PP所指一维数组中。二维数组中的数已在主函数中赋予。答案:inti,j;for(j=0;j4)z=x的八次幕(x>-4)z=z=4/(x*(x+1))(x>-10)z=|x|+20(其他)答案:floatz;if(x>4)z=sqrt(x-4);elseif(x>-4)z=pow(x,8);elseif(x>-10)z=4/(x*(x+1));elsez=fabs(x)+20;return(z);第110题(10.0分)题号:386功能:用函数求N个[10,60]上的整数中能被5整除的最大的数,如存在则返回这个最大值,如果不存在则返回0。答案:inti;for(i=0;im)m=arr[i];第111题(10.0分)题号:340功能:编写一个函数,该函数可以统计一个长度为2的字符串在另一个字符串中出现的次数。例如:假定输入的字符串为:asdasasdfgasdaszx67asdmklo字符串为:as,则应输出6。答案:inti,n=0;for(i=0;i<=strlen(str)-2;i++)if((str[i]==substr[0])&&(str[i+1]==substr[1]))n++;returnn;第112题(10.0分)题号:507功能:编写函数fun求一个字符串的长度,在main函数中输入字符串,并输出其长度。答案:char*p;intn=0;p=p1;while(*p++)n++;returnn;第113题(10.0分)题号:16功能:编写函数fun求1!+2!+3!++n!的和,在main函数中由键盘输入n值,并输出运算结果。请编写fun函数。例如:若n值为5,则结果为153。答案:inti;floatf=1,s=0;for(i=1;i<=n;i++){f=f*i;s=s+f;}returns;
本文档为【万维考试系统-C语言题库.】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_997338
暂无简介~
格式:doc
大小:42KB
软件:Word
页数:31
分类:
上传时间:2020-05-18
浏览量:69