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

上传人:b****5 文档编号:8243358 上传时间:2023-01-30 格式:DOCX 页数:46 大小:32.03KB
下载 相关 举报
万维考试系统C语言题库.docx_第1页
第1页 / 共46页
万维考试系统C语言题库.docx_第2页
第2页 / 共46页
万维考试系统C语言题库.docx_第3页
第3页 / 共46页
万维考试系统C语言题库.docx_第4页
第4页 / 共46页
万维考试系统C语言题库.docx_第5页
第5页 / 共46页
点击查看更多>>
下载资源
资源描述

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

《万维考试系统C语言题库.docx》由会员分享,可在线阅读,更多相关《万维考试系统C语言题库.docx(46页珍藏版)》请在冰豆网上搜索。

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

万维考试系统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_x0010_*10+b/10+b_x0010_*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_x0010_==x)||(k_x0010_0==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;

----------------------

:

341

题号10.0分)(第12题

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;

:

409

题号17题(10.0分)第f-32题目:

输入华氏温度求摄氏温度。

转换公式为c=5/9(),输出结果取两位小数。

floatn;

答案:

n=(5.0/9.0)*(m-32);

returnn;

:

29

(10.0题号分)第18题

的值。

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;

:

382

(10.0分)题号题第19求最小值出现的位置(如果最小值n个数据,功能:

给定,出现多次求出第一次出现的位置即可)。

----------------------答案:

inti,k;

k=0;

for(i=1;i

if(s[i]

return(k);

----------------------

:

367题号10.020第题(分)功能:

找出一批正整数中的最大的偶数。

----------------------答案:

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==0)||(k==0))

{a=a+k;b++;}

k--;

}

returna;

----------------------

第30题(10.0分)题号:

364

功能:

求一个四位数的各位数字的立方和。

答案:

----------------------

intd,s=0;

while(n>0)

{d=n_x0010_;

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_x0010_*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;

----------------------

:

388

题号分)10.0(题36第

功能:

编写函数判断一个整数能否同时被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_x0010_;

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_x0010_;

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+=

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 合同协议

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1