万维考试系统C语言题库程序设计方案题导出道.docx
- 文档编号:10492607
- 上传时间:2023-02-14
- 格式:DOCX
- 页数:260
- 大小:53.68KB
万维考试系统C语言题库程序设计方案题导出道.docx
《万维考试系统C语言题库程序设计方案题导出道.docx》由会员分享,可在线阅读,更多相关《万维考试系统C语言题库程序设计方案题导出道.docx(260页珍藏版)》请在冰豆网上搜索。
万维考试系统C语言题库程序设计方案题导出道
一、程序设计共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。
i i++) s+=a[i]。 ave=s/n。 printf("%f",ave)。 for(i=0。 i i++) if(a[i]>ave)k++。 returnk。 ---------------------- 第6题(10.0分)题号: 355 /*------------------------------------------------ 【程序设计】 -------------------------------------------------- 功能: 对长度为8个字符的字符串,将8个字符按降序排列。 例如: 原来的字符串为CEAedcab,排序后输出为edcbaECA。 ------------------------------------------------*/ Firefox 答案: ---------------------- inti,j。 chart。 for(i=0。 i i++) for(j=i+1。 j j++) if(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。 i i++) for(j=0。 j j++) fscanf(IN,"%d",&iIN[i][j])。 iOUT=fun(iIN)。 fprintf(OUT,"%d\n",iOUT)。 } fclose(IN)。 fclose(OUT)。 } 答案: ---------------------- ints=0。 inti,j。 for(i=0。 i i++) s=s+a[i][0]+a[i][N-1]。 for(j=1。 j 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是同构数。 ------------------------------------------------*/ #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。 i i++) if(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。 i i++){ if(i%10==0&&i! =0)printf("\n")。 printf("%5d",aa[i])。 } wwjt()。 } voidwwjt() { inti,j,array[100],sum,lim。 FILE*rf,*wf。 rf=fopen("in.dat","r")。 wf=fopen("out.dat","w")。 for(j=0。 j<=5。 j++) { fscanf(rf,"%d",&lim)。 sum=f
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 考试 系统 语言 题库 程序设计 方案 导出