《万维考试系统-C语言题库-含题目-程序设计题导出-113道 .doc》由会员分享,可在线阅读,更多相关《万维考试系统-C语言题库-含题目-程序设计题导出-113道 .doc(102页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 一、程序设计 共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列矩阵的各个元素的值(值 为整数),然后输出主对角线元素的积,并在fun() 函数中输出。
2、-*/#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的自然数中偶数的平方的和,n由 键盘输入,并在mai
3、n()函数中输出。(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合并形成一个整数放在c 中。合并的方式是:将a数
4、的十位和个位数依次放在 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(); 答案:-*c=a/10*1000+a%10*10+
5、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 s=0,ave; for(i=0;in;
6、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个字符的字符串:); gets(s); fun(s,8); pr
7、intf(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,10,2,3,4,5,6,4,5
8、,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中右侧的数,所 以5是同构数。-*/#in
9、clude 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; else return 0;-第9
10、题 (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分) 题号:310/*-【程序设计】-功能:计算并输
11、出给定整数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数组中,该函数返回 所求出素数的个数。-*/#include#include#d
12、efine 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;i+) for(j=2;ji;j+
13、) 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(nEnter %d positiv
14、e 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=0;i*n;) if(bbi=y
15、) 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*/ /* End */ main(
16、) 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(maxarray ij) max=ar
17、ray 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
18、); 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 /*-【程序设计】-题目:从键盘输入一个大写字母,要求改用小写字母输出。-*/#include void wwjt(); char fun(char c) /*Program*/ /* End */ void main() char c1, c2; printf(Please
19、input a char:); c1=getchar(); printf(%c,%dn,c1,c1); c2=fun(c1); printf(%c,%dn,c2,c2); wwjt(); fclose(IN); fclose(OUT);答案: c=c+32; return c;第16题 (10.0分) 题号:502题目:用while语句求1100的累计和。#include /*-void wwjt(); int fun(int n) /*Program*/ /* End */ void main() int sum = 0; sum=fun(100); printf (sum = %dn, s
20、um); wwjt();答案: int i=1,sum=0; while(i=n) sum=sum+i; i+; return sum;第17题 (10.0分) 题号:409/*-【程序设计】-题目:输入华氏温度求摄氏温度。转换公式为 c=5/9(f-32), 输出结果取两位小数。-*/#include void wwjt(); double fun(double m) /*Program*/ /* End */ void main() double c,f; printf(请输入一个华氏温度:); scanf(%f,&f); c=fun(f); printf(摄氏温度为:%5.2fn,c);
21、 wwjt();答案: float n; n=(5.0/9.0)*(m-32); return n; 第18题 (10.0分) 题号:29/*-【程序设计】-功能:对任意输入的 x,用下式计算并输出 y 的值。 5 x10-*/#includevoid wwjt();int fun(int n) /*Program*/ /* End */ void main () int x,y; printf(enter x:); scanf(%d,&x); y=fun(x); printf(x=%d,y=%dn,x,y); wwjt();答案: int m; if(n=10) if(n10) m=-5;
22、else m=0; else m=5;return m;第19题 (10.0分) 题号:382/*-【程序设计】-功能:给定n个数据, 求最小值出现的位置(如果最小值 出现多次,求出第一次出现的位置即可)。-*/#include void wwjt(); int station(int s,int n) /*Program*/ /* End */main() int a100,n,i,t; scanf(%d,&n); for(i=0;in;i+) scanf(%d,&ai); t=station(a,n); printf(the min_value position is:%dn,t); ww
23、jt();答案:-int i,k; k=0; for(i=1;in;i+) if(sisk) k=i; return(k);-第20题 (10.0分) 题号:367/*-【程序设计】-功能:找出一批正整数中的最大的偶数。-*/#include void wwjt(); int fun(int a,int n) /*Program*/ /* End */ main() int a=1,2,9,24,35,18,k; k=fun(a,6); printf(max=%dn,k); wwjt();答案:-int i,amax=-1; for(i=0;iamax) amax=ai; return amax;-第21题 (10.0分) 题号:384/*-【程序设计】-功能:产生20个30,120上的随机整数放入二维数组a54 中,求每行元素的和。-*/#include stdlib.h#include void wwjt(); void row_sum(int a54,int b5) /*Program*/ /* End */ma