logo资料库

万维考试系统-C语言题库-程序设计题导出-113道.pdf

第1页 / 共188页
第2页 / 共188页
第3页 / 共188页
第4页 / 共188页
第5页 / 共188页
第6页 / 共188页
第7页 / 共188页
第8页 / 共188页
资料共188页,剩余部分请下载后查看
试卷编号: 8139 所属语言: C 语言 试卷方案: TC_1102181054 试卷总分: 1130 分 共有题型: 1 种 共 113 题 (共计 1130 分) 一、程序设计 第 1 题 ( 10.0 分) 题号 :390 /*------------------------------------------------ 【程序设计】 -------------------------------------------------- 功能:编写函数求 1~100 中奇数的平方和。 结果为 166650.000000 。 ------------------------------------------------*/ #include void wwjt(); float sum(int n) { /**********Program**********/ /********** End **********/ } main() { printf("sum=%f\n",sum(100)); wwjt(); } void wwjt() { FILE *IN,*OUT; int i; float o;
IN=fopen("in.dat","r"); if(IN==NULL) { printf("Read FILE Error"); } OUT=fopen("out.dat","w"); if(OUT==NULL) { printf("Write FILE Error"); } for(j=0;j<5;j++) { fscanf(IN,"%d",&i); o=sum(i); fprintf(OUT,"%f\n",o); } fclose(IN); fclose(OUT); } 答案: ---------------------- 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() 为整数),然后输出主对角线元素的积 函数中输出。 ------------------------------------------------*/ #include void wwjt(); main() {
int i,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(); } int fun(int a[3][3]) { /**********Program**********/ /********** End **********/ } void wwjt() { FILE *IN,*OUT; int m; int n; int i[3][3]; int o; IN=fopen("in.dat","r"); if(IN==NULL) { printf("Read FILE Error"); } OUT=fopen("out.dat","w"); if(OUT==NULL) { printf("Write FILE Error"); } 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); } 答案: ---------------------- int sum; int i,j; sum=1; for(i=0;i<3;i++) sum=sum*a[i][i]; return sum; ---------------------- 第 3 题 ( 10.0 分) 题号 :324 /*------------------------------------------------ 【程序设计】 -------------------------------------------------- 功能:能计算从 1 开始到 n 的自然数中偶数的平方的和, 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 %d\n", fun(m)); wwjt(); } void wwjt() { FILE *IN,*OUT; int t; int o; int c; IN=fopen("in.dat","r"); if(IN==NULL) { printf("Read FILE Error"); } OUT=fopen("out.dat","w"); if(OUT==NULL) { printf("Write FILE Error"); } for(c=1;c<=5;c++) { fscanf(IN,"%d",&t); o=fun(t); fprintf(OUT,"%d\n",o); } fclose(IN); fclose(OUT); } 答案: ---------------------- 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 数的十位和个位数依次放在 数的千位和十位上, b 数的十位和个位数依次放在 数的个位和百位上。 c c 例如:当 a= 45, 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: %ld\n", c); wwjt(); } void wwjt ( )
{ FILE *rf, *wf ; int i, a,b ; long c ; 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 void wwjt(); int fun(int a[],int n) { /**********Program**********/
/********** End **********/ } main() { int a[10]={1,3,6,9,4,23,35,67,12,88}; int y; y=fun(a,10); printf("y=%d\n",y); wwjt(); } void wwjt() { FILE *IN,*OUT; int iIN[10],iOUT,i,j; IN=fopen("in.dat","r"); if(IN==NULL) { printf("Please Verify The Currernt Dir..it May Be Changed"); } OUT=fopen("out.dat","w"); if(OUT==NULL) { printf("Please Verify The Current Dir.. it May Be Changed"); } 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); } 答案: ---------------------- int i,k=0; float s=0,ave; for(i=0;i
分享到:
收藏