万维考试系统C语言题库程序设计题导出113道.docx
《万维考试系统C语言题库程序设计题导出113道.docx》由会员分享,可在线阅读,更多相关《万维考试系统C语言题库程序设计题导出113道.docx(277页珍藏版)》请在冰豆网上搜索。
万维考试系统C语言题库程序设计题导出113道
一、程序设计共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**********/
}
voidwwjt()
{
FILE*IN,*OUT;
intm;
intn;
inti[3][3];
into;
IN=fopen("in.dat","r");
if(IN==NULL)
{
printf("ReadFILEError");
}
OUT=fopen("out.dat","w");
if(OUT==NULL)
{
printf("WriteFILEError");
}
for(m=0;m<3;m++)
{
for(n=0;n<3;n++)
fscanf(IN,"%d",&i[m][n]);
}
o=fun(i);
{
fprintf(OUT,"%d\n",o);
getch();
}
fclose(IN);
fclose(OUT);
}
答案:
----------------------
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();
}
voidwwjt()
{
FILE*IN,*OUT;
intt;
into;
intc;
IN=fopen("in.dat","r");
if(IN==NULL)
{
printf("ReadFILEError");
}
OUT=fopen("out.dat","w");
if(OUT==NULL)
{
printf("WriteFILEError");
}
for(c=1;c<=5;c++)
{
fscanf(IN,"%d",&t);
o=fun(t);
fprintf(OUT,"%d\n",o);
}
fclose(IN);
fclose(OUT);
}
答案:
----------------------
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。
------------------------------------------------*/
#include
voidwwjt();
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();
}
voidwwjt()
{
FILE*rf,*wf;
inti,a,b;
longc;
rf=fopen("in.dat","r");
wf=fopen("out.dat","w");
for(i=0;i<10;i++)
{
fscanf(rf,"%d,%d",&a,&b);
fun(a,b,&c);
fprintf(wf,"a=%d,b=%d,c=%ld\n",a,b,c);
}
fclose(rf);
fclose(wf);
}
答案:
----------------------
*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。
------------------------------------------------*/
#include
voidwwjt();
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();
}
voidwwjt()
{
FILE*IN,*OUT;
intiIN[10],iOUT,i,j;
IN=fopen("in.dat","r");
if(IN==NULL)
{
printf("PleaseVerifyTheCurrerntDir..itMayBeChanged");
}
OUT=fopen("out.dat","w");
if(OUT==NULL)
{
printf("PleaseVerifyTheCurrentDir..itMayBeChanged");
}
for(j=0;j<10;j++)
{
for(i=0;i<10;i++)
fscanf(IN,"%d",&iIN[i]);
iOUT=fun(iIN,10);
}
fprintf(OUT,"%d\n",iOUT);
fclose(IN);
fclose(OUT);
}
答案:
----------------------
inti,k=0;
floats=0,ave;
for(i=0;is+=a[i];
ave=s/n;
printf("%f",ave);
for(i=0;iif(a[i]>ave)k++;
returnk;
----------------------
第6题(10.0分)题号:
355
/*------------------------------------------------
【程序设计】
--------------------------------------------------
功能:
对长度为8个字符的字符串,将8个字符按降序排列。
例如:
原来的字符串为CEAedcab,排序后输出为edcbaECA。
------------------------------------------------*/
Firefox
答案:
----------------------
inti,j;
chart;
for(i=0;ifor(j=i+1;jif(s[i]
{t=s[i];s[i]=s[j];s[j]=t;}
----------------------
第7题(10.0分)题号:
44
/*------------------------------------------------
【程序设计】
--------------------------------------------------
功能:
求出二维数组周边元素之和,作为函数值返回。
二
维数组的值在主函数中赋予。
-------------------------------------------------*/
#defineM4
#defineN5
#include
voidwwjt();
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();
}
voidwwjt()
{
FILE*IN,*OUT;
intiIN[M][N],iOUT;
inti,j,k;
IN=fopen("14.IN","r");
if(IN==NULL)
{printf("PleaseVerifyTheCurrerntDir..itMayBeChanged");
}
OUT=fopen("14.out","w");
if(OUT==NULL)
{printf("PleaseVerifyTheCurrentDir..itMayBeChanged");
}
for(k=0;k<10;k++)
{for(i=0;ifor(j=0;jfscanf(IN,"%d",&iIN[i][j]);
iOUT=fun(iIN);
fprintf(OUT,"%d\n",iOUT);
}
fclose(IN);
fclose(OUT);
}
答案:
----------------------
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()
{
intx,y;
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();
}
voidwwjt()
{
FILE*IN,*OUT;
intn,t;
into;
IN=fopen("in.dat","r");
if(IN==NULL)
{
printf("ReadFILEError");
}
OUT=fopen("out.dat","w");
if(OUT==NULL)
{
printf("WriteFILEError");
}
for(t=0;t<5;t++)
{
fscanf(IN,"%d",&n);
o=fun(n);
fprintf(OUT,"%d\n",o);
}
fclose(IN);
fclose(OUT);
}
答案:
----------------------
intk;
k=x*x;
if((k%10==x)||(k%100==x))
return1;
else
return0;
----------------------
第9题(10.0分)题号:
383
/*------------------------------------------------
【程序设计】
--------------------------------------------------
功能:
用函数实现字符串的复制,不允许用strcpy()函数。
------------------------------------------------*/
#include
voidwwjt();
voidcopy(charstr1[],charstr2[])
{
/**********Program**********/
/**********End**********/
}
main()
{
voidcopy();
charc1[40],c2[40];
gets(c1);
copy(c1,c2);
puts(c2);
wwjt();
}
voidwwjt()
{
FILE*IN,*OUT;
chari[100];
charo[100];
IN=fopen("in.dat","r");
if(IN==NULL)
{
printf("ReadFILEError");
}
OUT=fopen("out.dat","w");
if(OUT==NULL)
{
printf("WriteFILEError");
}
fscanf(IN,"%s",i);
copy(i,o);
fprintf(OUT,"%s\n",o);
fclose(IN);
fclose(OUT);
}
答案:
----------------------
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。
------------------------------------------------*/
#include
voidwwjt();
intfun(intn)
{
/**********Program**********/
/**********End**********/
}
main()
{
printf("s=%d\n",fun(855));
wwjt();
}
voidwwjt()
{
FILE*IN,*OUT;
intiIN,iOUT,i;
IN=fopen("in.dat","r");
if(IN==NULL)
{
printf("PleaseVerifyTheCurrerntDir..itMayBeChanged");
}
OUT=fopen("out.dat","w");
if(OUT==NULL)
{
printf("PleaseVerifyTheCurrentDir..itMayBeChanged");
}
for(i=0;i<5;i++)
{
fscanf(IN,"%d",&iIN);
iOUT=fun(iIN);
fprintf(OUT,"%d\n",iOUT);
}
fclose(IN);
fclose(OUT);
}
答案:
----------------------
ints=0,i;
for(i=2;iif(n%i==0)s=s+i;
returns;
----------------------
第11题(10.0分)题号:
354
/*------------------------------------------------
【程序设计】
--------------------------------------------------
功能:
求小于lim的所有素数并放在aa数组中,该函数返回
所求出素数的个数。
------------------------------------------------*/
#include
#include
#defineMAX100
voidwwjt();
intfun(intlim,intaa[MAX])
{
/**********Program**********/
/**********End**********/
}
main()
{
intlimit,i,sum;
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();
}