万维考试系统C语言题库完整Word文件下载.docx
《万维考试系统C语言题库完整Word文件下载.docx》由会员分享,可在线阅读,更多相关《万维考试系统C语言题库完整Word文件下载.docx(45页珍藏版)》请在冰豆网上搜索。
inti.j;
chart;
num;
for(j=Hl;
j<
j++)
if(s[i]<
s[j])
{t=s[iLs[i]=s[j];
s[j]=t;
第7题(10.0分〉题号:
44
求出二维数组周边元素之和,作为函数值返回。
二
维数组的值在主函数中喩予。
ints=0;
M;
i++)s=s+a[i][0]+a[i][N~l]:
for(j=l;
NT;
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函数。
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;
if(n%i==0)s=s+i;
第11题(10.0分)题号:
354
求小于lim的所有素数并放在aa数组中,该函数返回
所求出素数的个数。
intn=0;
inti.j;
=lim;
i+十){for(j=2;
j<
i;
j++)if(i%j==0)break;
if(j==i)aa[n++]二i;
}returnn;
第12题(10.0分)题号:
341
删除所有值为y的元素。
数组元素中的值和y的值由主函数通过键盘输入。
*n;
)
if(bb[i]==y)
{for(j=i;
»
j++)
bb[j]=bb[j+l];
i卄;
第13题(10.0分)题号:
317
求出NXM整型数组的最大元素及其所在的行坐标及列坐标(如果最大元索不唯一,选择位置在最前面
的一个)。
输入的数组为:
►
1
2
3
4
15
6
12
18
9
10
11
求出的最大数为1&
行坐标为2,列坐标为1。
intmax,i,j;
max=array[0][0];
Row=0;
Col=0;
For(i二0;
¥
;
{for(j=0;
j++)if(max<
array[i][j]){max=array[i][jj;
Row=i;
Col=j;
return(max);
第14题(10.0分)题号:
392
求一批数中最大值和最小值的积。
intijnax,min;
max=min=a[0j;
for(i=l;
if(a[i]>
max)max=a[i];
elseif(a[i]<
min)min=a[i];
return(max*n)in);
第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'
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<
y=0
x=10
-5
x>
intm;
if(n<
10)
m=5;
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;
i++)if(s[i]<
s[k])k=i;
return(k);
第20题(10.0分)题号:
367
找出一批正整数中的最大的偶数。
intitamax=-l;
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;
5;
{b[i]=0;
for(j=0;
4;
b[i]=b[i]+a[i][j];
第22题(10.0分)题号:
334功能:
求给定正整数n以的素数之税。
(228)
longi.k:
longs=l;
i+十)
{for(k=2;
k<
k++)if(i%k==0)break;
if(k==i)s=s*i;
第23题(10.0分)题号:
363
求一个给定字符串中的字母的个数。
s[i]!
=,\0*:
if(s[i]>
='
a,&
&
s[i]<
=,z,I|s[i]>
=,A,&
=,Z,)k十+;
第24题(10.0分)题号:
361
编写程序,求矩阵(3行3列)与2的乘积例如:
输入下面的矩阵:
100200300
400500600
700800900
程序输出:
200400600
80010001200
140016001800
i<
3;
i+十)
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<
n)
printf(wm和n输入错!
请重新输入:
\n*):
scanf(*%d%d\&
m,&
n);
zhsgs=fact(m)/(fact(n)*fact(m-n));
第26题(10.0分)题号:
411
对任意输入的x,用下式计算并输出y的值。
-1x<
y=0x=0
1x>
0)
m=-l;
if(n==0)m=0;
elsem=l;
returnm;
if(n>
=0)
m=l;
elsem=0;
elsem=-l;
第27题(10.0分)题号:
509
编写函数fun其功能是:
根据整型形参m,计算如下
公式的值:
y=l+1/3+1/5+1/7+-+1/(2m+l)
若呼9,则应输出:
2.133256
答案:
doubley=L;
inti:
=m;
{y+=1.0/(2*i+l);
}
return(y);
第28题(10.0分)题号:
394
产生20个[30.120]上的随机整数放入二维数组a[5][4]中,求其中的最小值。
intijs;
s=a[0][0]:
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>
{d=n%10;
s+=d*d*d;
n/=10;
第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]:
{if(x[i]<
min)min=x[i];
returnmin;
第33题(10.0分)题号:
391
将字符串中的小写字母转換为对应的大写字母,其它字符不变。
str[i]!
=*\0f;
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()函数中输出。
sum二0;
sum二sum+a[i][i]*a[i][i];
第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;
=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;
s*=d;
第40题(10.0分)题号:
379
给定n个数据,求最大值出现的位置(如果最大值出
现多次,求出第一次出现的位置即可)。
i++)
return(k+1):
第41题(10.0分)题号:
22
从継盘为一维整型数组输入10个整数,调用fun函数找出其中最小的数,并在main函数中输出。
请编写fun函数。
intmin.i;
}returnmin;
第42题(10.0分)题号:
381
求一批数中小于平均值的数的个数。
intitsum=0,k=0;
doubleaverage;
i卄)sum=sum+a[i]:
average=sum*1.0/n;
i+十)if(avei'
age>
a[il)k++;
return(k);
第43题(10.0分)题号:
352
根据整型形参m,计算如下公式的值:
尸1/2+1/4+
1/6+..・+l/2mo
1.414484
doubley=0;
{y+=1.0/(2*i);
return(y):
第44题(10.0分)题号:
33
用do-while语句求1〜100的累计和。
inti=1,sum=0;
do
sum=sum+1;
}while(i<
=n);
第45题(10.0分)题号:
347
把20个随机数存入一个数组,然后输出该数组中的最小值。
其中确定最小值的下标的操作在fun函数中实现,请给出该函数的定义。
•
inti,min=0;
size;
if(list[min]>
1ist[i])
min=i;
第46题(10.0分)题号:
343
将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<
abs(m);
n卄)printf(ww);
7-2*abs(m):
n++)printf(M*h);
printf;
第48题(10.0分)题号:
365功能:
求1到100之间的偶数之积。
doubley=l;
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;
n/2;
{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;
for(i=3;
=28;
{f=fl+f2;
k=k+f;
fl=f2;
f2=f;
第51题(10.0分)题号:
378
编写函数用冒泡排序法对数组中的数据进行从小到
大的排序。
inti.j.t;
nT;
for(j=0;
nT-i;
j++)if(a[j]>
a[j+ll){t=a[j];
a[j]=a[j+l];
a[j+l]=t;
第52题(10.0分)题号:
323
求1到w之间的奇数之和。
(w是大于等于100小于等于1000的整数)
longy=0;
=w;
if(i%2==l)y+=i;
第53题(10.0分)题号:
380
用辗转相除法求两个整数的最大公约数。
intr,t;
m){t=n;
n=m;
m=t;
r=n%m;
while(r!
{n=m;
m=r;
:
return(m);
第54题(10.0分)题号:
503
分别统计字符串中字母、数字、空格和其他字符出现的次数(字符长度小于80)。
inti;
c[i]!
=*\0r;
if((c[i]>
=,A*&
c[i]<
=*Z,)I(c[i]>
=>
=*z1))
a=a+L;
elseif(c[i]>
0,&
=,9,)
num二num+1;
elseif(c[i]==**)
b二b+1;
other=other+l;
第55题(10.0分)题号:
395
求n阶方阵主、副对角线上的元素之税。
floatt=l;
for(i=0;
N;
if(i==ji|i+j==N-l)
t=t*arr[i][j];
return(t):
第56题(10.0分)题号:
318
输入一个字符串,过滤此串,只保留串中的字母字符,并统计新生成串中包含的字母个数。
输入的字符串为ab234$df4,新生成的串为abdf。
for(i=0tj=0;
*(ptr+i)!
\0r:
if(*(ptr+i)<
=,z,&
*(ptr+i)>
=*a,*(ptr+i)<
=,Zr&
=*/\,)
{♦(ptr+j)=*(ptr+i);
j卄;
*(ptr+j)=t\0,;
return(j);
第57题(10.0分)题号:
311
计算n门课程的平均值,计算结果作为函数值返回。
例如:
若有5门课程的成绩是:
92,76,69,5&
8&
则函数的值为76.600000。
floaty=0;
i+十)y十=a[i];
y=y/n;
第58题(10.0分)题号:
358功能:
根据整型形參m,计算如下公式的值:
y=sin(m)*10o
若呼9,则应输出