万维考试系统c语言题库含题目程序设计题导出3道.docx
《万维考试系统c语言题库含题目程序设计题导出3道.docx》由会员分享,可在线阅读,更多相关《万维考试系统c语言题库含题目程序设计题导出3道.docx(78页珍藏版)》请在冰豆网上搜索。
万维考试系统c语言题库含题目程序设计题导出3道
、程序设计共113题(共计1130分)
第1题(10.0分)题号:
390/*
【程序设计】
功能:
编写函数求1~100中奇数的平方和结果为166650.000000。
*/
#include
voidwwjt();floatsum(intn)
********Program********
********End********
}
答案:
floats=0;
inti;
for(i=1;i<=n;i=i+2)
s=s+i*i;
return(s);
第2题(10.0分)题号:
320/*
【程序设计】
功能:
在键盘上输入一个3行3列矩阵的各个元素的值(值为整数),然后输出主对角线元素的积,并在fun()函数中输出。
*/
#include
voidwwjt();
main()
{
inti,j,s,a[3][3];;
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
scanf("%d",&a[i][j]);
}
s=fun(a);
printf("Sum=%d\n",s);
wwjt();
}
intfun(inta[3][3])
{
********Program********
********End********
}
答案:
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是偶数)*/#include
voidwwjt();intfun(intn)
********Program********
********End********
}main()
{
intm;
printf("Enterm:
");
scanf("%d",&m);
printf("\nTheresultis%d\n",fun(m));wwjt();
}
答案:
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
*/#ineludevoidwwjt();
voidfun(inta,intb,long*c)
/**********Program**********/
/**********End**********/}
main()
{
inta,b;
longc;
printf("inputa,b:
");
scanf("%d%d",&a,&b);
fun(a,b,&c);
printf("Theresultis:
%ld\n",c);
wwjt();
}
答案:
*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。
*/
#includevoidwwjt();
intfun(inta[],intn)
{
■********Program********
********End********
}
main()
{
inta[10]={1,3,6,9,4,23,35,67,12,88};
inty;
y=fun(a,10);
printf("y=%d\n",y);
wwjt();
}
答案:
inti,k=0;
floats=0,ave;
for(i=0;is+=a[i];
ave=s/n;printf("%f",ave);for(i=0;iave)k++;returnk;
第6题(10.0分)题号:
355
/*
【程序设计】
功能:
对长度为8个字符的字符串,将8个字符按降序排列。
例如:
原来的字符串为CEAedcab,排序后输出为edcbaECA。
*/
#include#include
#includevoidwwjt();
voidfun(char*s,intnum){
********Program********
********End********
}
main()
{
chars[10];
printf("输入8个字符的字符串:
");gets(s);
fun(s,8);
printf("\n%s",s);wwjt();
}
答案:
inti,j;
chart;
for(i=0;iif(s[i]
{t=s[i];s[i]=s[j];s[j]=t;}
第7题(10.0分)题号:
44/*
【程序设计】功能:
求出二维数组周边元素之和,作为函数值返回
维数组的值在主函数中赋予。
*/
#defineM4#defineN5
#includevoidwwjt();
intfun(inta[M][N]){
********Program********
********End********
}
main()
{
inta[M][N]={{1,3,5,7,9},{2,4,6,8,10},{2,3,4,5,6},{4,5,6,7,8}};inty;
y=fun(a);
printf("s=%d\n",y);
wwjt();
}
答案:
ints=0;
inti,j;
for(i=0;is=s+a[i][0]+a[i][N-1];
for(j=1;js=s+a[0][j]+a[M-1][j];
returns;
第8题(10.0分)题号:
339/*
【程序设计】
功能:
判断整数x是否是同构数。
若是同构数,函数返回1;
否则返回0。
x的值由主函数从键盘读入,要求不大于100。
说明:
所谓“同构数”是指这样的数,这个数出现在它的平方数的右边。
例如:
输入整数5,5的平方数是25,5是25中右侧的数,所以5是同构数。
*/#include
voidwwjt();intfun(intx)
{
********Program********
********End********
}main()
{
printf("\nPleaseenteraintegernumbers:
");scanf("%d",&x);
if(x>100)
{
printf("dataerror!
\n");
exit(0);
}
y=fun(x);
if(y)
printf("%dYES\n",x);
else
printf("%dNO\n",x);
wwjt();
}
答案:
intk;
k=x*x;
if((k%10==x)||(k%100==x))
return1;
else
return0;
第9题(10.0分)题号:
383/*
【程序设计】
函数。
功能:
用函数实现字符串的复制,不允许用strcpy()*/#includevoidwwjt();
voidcopy(charstr1[],charstr2[])
********Program********
********End********
}
main()
{
voidcopy();
charc1[40],c2[40];
gets(c1);
copy(c1,c2);
puts(c2);
wwjt();
}
答案:
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。
*/#includevoidwwjt();
intfun(intn)
********Program********
********End********
}
main()
{
printf("s=%d\n",fun(855));
wwjt();
}
答案:
ints=0,i;
for(i=2;iif(n%i==0)s=s+i;
returns;
第11题(10.0分)题号:
354/*
【程序设计】
功能:
求小于lim的所有素数并放在aa数组中,该函数返回所求出素数的个数。
*/
#include
#include#defineMAX100voidwwjt();
intfun(intlim,intaa[MAX]){
********Program********
********End********
}
main()
{
intaa[MAX];printf("Pleaseinputainteger:
");scanf("%d",&limit);sum=fun(limit,aa);for(i=0;iif(i%10==0&&i!
=0)printf("\n");printf("%5d",aa[i]);
}
wwjt();
}
答案:
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的值由
主函数通过键盘输入。
*/
#include
#include#include#defineM20
voidwwjt();
voidfun(intbb[],int*n,inty)
********Program********
End
********
}
main()
{
intaa[M],n,y,k;
printf("\nPleaseentern:
");scanf("%d",&n);printf("\nEnter%dpositivenumber:
\n",n);for(k=0;k\n");
for(k=0;kprintf("\nEnteranumbertodeletede:
");scanf("%d",&y);fun(aa,&n,y);
printf("Thedataafterdeleted%d:
\n",y);
for(k=0;kprintf("\n");
wwjt();
}
答案:
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/*
【程序设计】功能:
求岀NXM整型数组的最大元素及其所在的行坐标及
列坐标(如果最大元素不唯一,选择位置在最前面的一个)。
例如:
输入的数组为:
123
4156
1218910112
求岀的最大数为18,行坐标为2,列坐标为1
*/#defineN4
#defineM3#includevoidwwjt();
intRow,Col;
intfun(intarray[N][M]){
********Program********
********End********
}
main()
{
inta[N][M],i,j,max;printf("inputaarray:
");for(i=0;ifor(i=0;i{
for(j=0;jprintf("%d",a[i][j]);
printf("\n");
}
max=fun(a);
printf("max=%d,row=%d,col=%d",max,Row,Col);wwjt();
}
答案:
intmax,i,j;
max=array[0][0];
Row=0;
Col=0;
for(i=0;i{for(j=0;jif(max{max=array[i][j];
Row=i;
Col=j;}
}
return(max);
第14题(10.0分)题号:
392/*
【程序设计】功能:
求一批数中最大值和最小值的积。
*/
#defineN30#include"stdlib.h"
#includevoidwwjt();
intmax_min(inta[],intn){
********Program********
********End********
}main()
{
inta[N],i,k;for(i=0;ifor(i=0;i{
printf("%5d",a[i]);
if((i+1)%5==0)printf("\n");
}
k=max_min(a,N);printf("theresultis:
%d\n",k);wwjt();
}
答案:
inti,max,min;
max=min=a[0];
for(i=1;imax)max=a[i];elseif(a[i]return(max*min);
第15题(10.0分)题号:
501#include
/*
【程序设计】题目:
从键盘输入一个大写字母,要求改用小写字母输出
*/
#include
voidwwjt();charfun(charc)voidmain()
********Program********
********End********
{
charc1,c2;
printf("Pleaseinputachar:
");c1=getchar();
printf("%c,%d\n",c1,c1);c2=fun(c1);
printf("%c,%d\n",c2,c2);wwjt();
}
fclose(IN);fclose(OUT);
}
答案:
c=c+32;
returnc;
第16题(10.0分)题号:
502
题目:
用while语句求1〜100的累计和
#include
/*
voidwwjt();
intfun(intn)
{
********Program********
********End********
voidmain()
{
intsum=0;sum=fun(100);
printf("sum=%d\n",sum);wwjt();
}
答案:
inti=1,sum=0;while(i<=n)
{
sum=sum+i;
i++;
}
returnsum;
第17题(10.0分)题号:
409
/*
【程序设计】
c=5/9
f-32),
题目:
输入华氏温度求摄氏温度。
转换公式为
输出结果取两位小数。
*/#include
voidwwjt();doublefun(doublem)
********Program********
End
********
}voidmain()
{
doublec,f;
printf("请输入一个华氏温度:
");scanf("%f",&f);
c=fun(f);
printf("摄氏温度为:
%5.2f\n",c);wwjt();
}答案:
floatn;
n=(5.0/9.0)*(m-32);
returnn;
第18题(10.0分)题号:
29/*
【程序设计】功能:
对任意输入的x,用下式计算并输出y的值
5x<10
y=0x=10
-5x>10*/#include
voidwwjt();intfun(intn)
********Program********
********End********
}
voidmain()
{
intx,y;
printf("enterx:
");
scanf("%d",&x);
y=fun(x);
printf("x=%d,y=%d\n",x,y);wwjt();
}
答案:
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个数据,求最小值岀现的位置(如果最小值
出现多次,求出第一次出现的位置即可)。
*/#includevoidwwjt();
intstation(ints[],intn){
********Program********
********End********
main()
{
inta[100],n,i,t;
scanf("%d",&n);
for(i=0;iscanf("%d",&a[i]);
t=station(a,n);
printf("themin_valuepositionis:
%d\n",t);wwjt();
}
答案:
inti,k;
k=0;
for(i=1;iif(s[i]
return(k);
第20题(10.0分)题号:
367/*
【程序设计】
功能:
找出一批正整数中的最大的偶数。
*/
#include
voidwwjt();intfun(inta[],intn)
********Program********
********End********
}
main()
{
inta[]={1,2,9,24,35,18},k;k=fun(a,6);printf("max=%d\n",k);wwjt();
}
答案:
inti,amax=-1;for(i=0;iamax)amax=a[i];returnamax;
第21题(10.0分)题号:
384/*
【程序设计】
a[5][4]
功能:
产生20个[30,120]上的随机整数放入二维数组中,求每行元素的和。
*/#include"stdlib.h"
#includevoidwwjt();
voidrow_sum(inta[5][4],intb[5]){
********Program********
********End********
}
main()
{
voidrow_sum();
inta[5][4],b[5],i,j;
for(i=0;i<5;i++)
for(j=0;j<4;j++)
a[i][j]=random(120-30+1)+30;
for(i=0;i<5;i++)
{
for(j=0;j<4;j++)
printf("%5d",a[i][j]);
printf("\n");
}
row_sum(a,b);
for(i=0;i<5;i++)
printf("%6d",b[i]);
printf("\n");
wwjt();
}
答案:
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分)题号:
3