1、万维考试系统c语言题库含题目程序设计题导出3道 一、程序设计 共113题 (共计1130分)第1题 (10.0分) 题号:390/*-【程序设计】-功能:编写函数求1100中奇数的平方和。 结果为166650.000000。-*/#include void wwjt(); float sum(int n) /*Program*/ /* End */答案:-float s=0; int i; for(i=1;i=n;i=i+2) s=s+i*i; return(s);-第2题 (10.0分) 题号:320/*-【程序设计】-功能:在键盘上输入一个3行3列矩阵的各个元素的值(值 为整数),然后输出
2、主对角线元素的积,并在fun() 函数中输出。-*/#include void wwjt(); main() int i,j,s,a33; for(i=0;i3;i+) for(j=0;j3;j+) scanf(%d,&aij); s=fun(a); printf(Sum=%dn,s); wwjt();int fun(int a33) /*Program*/ /* End */答案:-int sum;int i,j;sum=1;for(i=0;i3;i+) sum=sum*aii; return sum;-第3题 (10.0分) 题号:324/*-【程序设计】-功能:能计算从1开始到n的自然数
3、中偶数的平方的和,n由 键盘输入,并在main()函数中输出。(n是偶数)-*/#include void wwjt(); int fun(int n) /*Program*/ /* End */main() int m; printf(Enter m: ); scanf(%d, &m); printf(nThe result is %dn, fun(m); wwjt(); 答案:-int sum,i;sum =0;for(i=2;i=n;i=i+2)sum=sum+i*i;return(sum);-第4题 (10.0分) 题号:345/*-【程序设计】-功能:将两个两位数的正整数a、b合并形
4、成一个整数放在c 中。合并的方式是:将a数的十位和个位数依次放在 c数的千位和十位上, b数的十位和个位数依次放在 c数的个位和百位上。 例如:当a45,b=12。调用该函数后,c=4251。 -*/#include void wwjt(); void fun(int a, int b, long *c) /*Program*/ /* End */main() int a,b; long c; printf(input a, b:); scanf(%d%d, &a, &b); fun(a, b, &c); printf(The result is: %ldn, c); wwjt(); 答案:-
5、*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 void wwjt(); int fun(int a,int n) /*Program*/ /* End */main() int a10=1,3,6,9,4,23,35,67,12,88; int y; y=fun(a,10); printf(y=%dn,y); wwjt();答案:-int i,k=0; float
6、s=0,ave; for(i=0;in;i+) s+=ai; ave=s/n; printf(%f ,ave); for(i=0;iave)k+; return k;-第6题 (10.0分) 题号:355 /*-【程序设计】-功能:对长度为8个字符的字符串,将8个字符按降序排列。例如:原来的字符串为CEAedcab,排序后输出为edcbaECA。-*/#include#include#includevoid wwjt(); void fun(char *s,int num) /*Program*/ /* End */main() char s10; printf(输入8个字符的字符串:); g
7、ets(s); fun(s,8); printf(n%s,s); wwjt();答案:- int i,j; char t; for(i=0;inum;i+) for(j=i+1;jnum;j+) if(sisj) t=si;si=sj;sj=t;-第7题 (10.0分) 题号:44/*-【程序设计】-功能:求出二维数组周边元素之和,作为函数值返回。二 维数组的值在主函数中赋予。-*/#define M 4#define N 5#include void wwjt();int fun(int aMN)/*Program*/* End */main()int aMN=1,3,5,7,9,2,4,6
8、,8,10,2,3,4,5,6,4,5,6,7,8;int y;y=fun(a);printf(s=%dn,y);wwjt();答案:-int s=0; int i,j; for(i=0;iM;i+) s=s+ai0+aiN-1; for(j=1;jN-1;j+) s=s+a0j+aM-1j; return s;-第8题 (10.0分) 题号:339/*-【程序设计】-功能:判断整数x是否是同构数。若是同构数,函数返回1; 否则返回0。x的值由主函数从键盘读入,要求不大 于100。说明:所谓“同构数”是指这样的数,这个数出现在它的 平方数的右边。例如:输入整数5,5的平方数是25,5是25中右
9、侧的数,所 以5是同构数。-*/#include void wwjt(); int fun(int x) /*Program*/ /* End */main() int x,y; printf(nPlease enter a integer numbers:); scanf(%d,&x); if(x100) printf(data error!n); exit(0); y=fun(x); if(y) printf(%d YESn,x); else printf(%d NOn,x); wwjt();答案:- int k; k=x*x; if(k%10=x)|(k%100=x) return 1;
10、 else return 0;-第9题 (10.0分) 题号:383/*-【程序设计】-功能:用函数实现字符串的复制, 不允许用strcpy()函数。-*/#include void wwjt(); void copy(char str1,char str2) /*Program*/ /* End */main() void copy(); char c140,c240; gets(c1); copy(c1,c2); puts(c2); wwjt();答案:-int i; for(i=0;str1i!=0;i+) str2i=str1i; str2i=0;-第10题 (10.0分) 题号:31
11、0/*-【程序设计】-功能:计算并输出给定整数n的所有因子之和(不包括1与 自身)。注意:n的值不大于1000。例如:n的值为855时,应输出704。-*/#include void wwjt();int fun(int n) /*Program*/ /* End */main() printf(s=%dn,fun(855); wwjt();答案:-int s=0,i; for(i=2;in;i+) if(n%i=0)s=s+i; return s;-第11题 (10.0分) 题号:354/*-【程序设计】-功能:求小于lim的所有素数并放在aa数组中,该函数返回 所求出素数的个数。 -*/#
12、include#include#define MAX 100void wwjt(); int fun(int lim,int aaMAX) /*Program*/ /* End */main() int limit,i,sum; int aaMAX; printf(Please input ainteger:); scanf(%d,&limit); sum=fun(limit,aa); for(i=0;isum;i+) if(i%10=0&i!=0) printf(n); printf(%5d,aai); wwjt();答案:- int n=0; int i,j; for(i=2;i=lim;
13、i+) for(j=2;ji;j+) if(i%j=0) break; if(j=i) aan+=i; return n;-第12题 (10.0分) 题号:341/*-【程序设计】-功能:删除所有值为y的元素。数组元素中的值和y的值由 主函数通过键盘输入。-*/#include #include#include#define M 20void wwjt(); void fun(int bb,int *n,int y) /*Program*/ /* End */main() int aaM,n,y,k; printf(nPlease enter n:);scanf(%d,&n); printf(
14、nEnter %d positive number:n,n); for(k=0;kn;k+) scanf(%d,&aak); printf(The original data is:n); for(k=0;kn;k+) printf(%5d,aak); printf(nEnter a number to deletede:);scanf(%d,&y); fun(aa,&n,y); printf(The data after deleted %d:n,y); for(k=0;kn;k+) printf(%4d,aak); printf(n); wwjt();答案:- int i,j; for(i
15、=0;i*n;) if(bbi=y) for(j=i;j*n;j+) bbj=bbj+1; *n=*n-1; else i+; -第13题 (10.0分) 题号:317/*-【程序设计】-功能:求出NM整型数组的最大元素及其所在的行坐标及 列坐标(如果最大元素不唯一,选择位置在最前面 的一个)。例如:输入的数组为: 1 2 3 4 15 6 12 18 9 10 11 2 求出的最大数为18,行坐标为2,列坐标为1。-*/#define N 4#define M 3#include void wwjt();int Row,Col;int fun(int arrayNM) /*Program*/
16、 /* End */main() int aNM,i,j,max; printf(input a array:); for(i=0;iN;i+) for(j=0;jM;j+) scanf(%d,&aij); for(i=0;iN;i+) for(j=0;jM;j+) printf(%d,aij); printf(n); max=fun(a); printf(max=%d,row=%d,col=%d,max,Row,Col); wwjt();答案:-int max,i,j;max=array 00;Row=0;Col=0;for(i=0;iN;i+) for(j=0;jM;j+) if(maxa
17、rray ij) max=array ij; Row=i;Col=j;return(max);-第14题 (10.0分) 题号:392/*-【程序设计】-功能:求一批数中最大值和最小值的积。-*/#define N 30#include stdlib.h#include void wwjt(); int max_min(int a,int n) /*Program*/ /* End */main() int aN,i,k; for(i=0;iN;i+) ai=random(51)+10; for(i=0;iN;i+) printf(%5d,ai); if(i+1)%5=0) printf(n); k=max_min(a,N); printf(the result is:%dn,k); wwjt();答案:- int i,max,min; max=min=a0; for(i=1;imax) max=ai; else if(aimin) min=ai; return(max*min);-第15题 (10.0分) 题号:501#include /*-
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1