湖南⼯业⼤学C语⾔考试题⽬1、#include 改错#includeint arrmax( int arr[3][3]){ int i,j,max;max=arr[0][0];/************found************/for ( i=0; i<3; i++) 此处将1改为0,并且去掉等号for ( j=0; j<3; j++)if (max < arr[i][j]){max = arr[i][j];}return (max);}void main(){ int a[3][3]={4,4,34,7,3,12,5,6,5},i,j;/************found************/printf("The max is: %d\n",arrmax(a)); 将arrmax(a[0][0])改为arrmax(a) 2、#define M 10#includevoid main( ){ int i,a[100],t;//clrscr();for(i=0;i/**************found************/a[i]=i+1;/**************found************/for(i=0;iprintf("%5d",a[i]);printf("\n");}3、#include 编辑#includeint fun(int m){/***********begin***********/int a1,a2,a3,s;a1=m/100;a2=m%100/10;a3=m%10;s=a1+a2+a3;return(s);/************end************/}void main(){ int m,s;//clrscr();printf("Enter m :\n");scanf("%d",&m);s=fun(m);printf("Result is: %d\n",s);4、#include 改错#includemain(){ int a[10]={10,4,2,7,3,12,5,34,5,9},i,s; clrscr();s = 0;/************found************/for ( i=0; i<10; i++) 去掉等号s = s + a[i]; 将i改为a[i]printf("The result is: %d\n", s); }5、#include 填空 #includevoid main( ) {int num,k; //clrscr() ;/************found************/ k=0; 给k 赋值 printf("Please enter a number:") ; scanf("%d",&num) ; do { /************found************/k=k+num%10 ; num%10可求出num 的各位 num/=10; } while(num) ; printf("\n%d\n",k) ;}6、#include 改错 #include #include void main() { int i,j,x,p; //clrscr(); x=1;/************found************/ j=12;while(j>1) 去掉等号 { p=(x+1)*2;/************found************/ x=p;j--; }printf("total is %d\n",p);}7、#include "stdio.h" 改错 void main(){ long int f[20]={1,1}; int i; //clrscr();/**************found************/ f[0]=1;f[1]=1; 赋初值 for(i=0;i<20;i++) {f[i+2]=f[i]+f[i+1]; 保证前⾯两个数要输出,所以要这样改/**************found************/if(i%5==0) printf("\n"); i%5==0保证⼀⾏5个数输出 printf("%8ld",f[i]); } printf("\n");}8、#include 编辑 #include #include double fun(double x) {/***********begin***********/ int q; double n,t,s; n=1; s=0; t=1; q=1;while(fabs(t)>=x){s=s+t;n=n+2;}return s;/***********end***********/}void main(){double x,sum;printf("Enter x:\n");scanf("%lf",&x);sum=fun(x);printf("sum=%.4f\n",sum); NONO( );}9、#include 改错#includeint max;fun ( int arr[],int n ){ int pos,i;max = arr[0];pos = 0;for ( i=1; iif (max{max = arr[i];/************found************/pos= i;}return (pos);}void main(){int a[10]={1,4,2,7,3,12,5,34,5,9},n; //clrscr();printf("The max is: %d ,pos is: %d\n", max , n);}10、#include "stdio.h" 编辑#include "math.h"#include "conio.h"#include "stdlib.h"void main(){ int m=6,n=45,t,i,temp;/***********begin***********/temp=n*m;while(m!=0){i=n%m;n=m;m=i;t=temp/n; 注:此时最⼤公约数是n,要通过此程序会求最⼤公约数} 最⼩公倍数等于两个数的乘积除以它们的最⼤公约数/************end************/printf("The Lowest Common Multiple of %d and %d is %d\n",m,n,t); NONO(m,n,t);}11、#include 填空#include#includemain(){int m,n,i,t;long int s=0;//clrscr();scanf("%d,%d",&m,&n);if( m>n ){ t=m; m=n; n=t;}if ( i%3==0 && i%7==0 ) s += i;/************found************/ printf("Sum is : %ld\n",s );}12 #include 填空 void main(){ long s, t, sl=1; int d; //clrscr();printf("\nPlease enter s:"); scanf("%ld", &s); t = 0;while ( s > 0) { d = s%10;/************found************/if (d%2==0) 判断余数 { t=d * sl + t; sl *= 10; }/************found************/s =s/10; 遇到奇数退出寻环后的处理 }printf("The result is: %ld\n", t); }13、#include "stdio.h" 填空 #include "string.h" void main() { char s[10]; int i; long int n; //clrscr(); /**************found************/ n=0; 赋初值 scanf("%s",s);for(i=0;i/**************found************/n=n*10+s[i]-'0'; 将字符串转换成整数的⽅法printf("n=%ld\n",n);}14、#include "stdio.h" 编辑 #include "math.h" #include "stdlib.h" double fun(int n) {/***********begin***********/double y=1.0; int i;for(i=2;i<=n;i++) y+=1.0/(i*i); return (y)/************end************/}void main() { double s; int n; //clrscr();printf("Enter s:\n"); scanf("%d",&n); s=fun(n);printf("s= %.3f\n",s); NONO( ); }15、⼀样的…/***********begin***********/跟第8题⼀样这个…我也不知道了/***********end***********/}void main(){double x,sum;printf("Enter x:\n");scanf("%lf",&x);sum=fun(x);printf("sum=%.4f\n",sum);17、#include 编辑#includeint fun(int a[3][3]){/***********begin***********/int max=a[0][0];int i,j;for(i=0;i<3;i++)for(j=0;j<3;j++)if(max{max=a[i][j];}/************end************/}void main(){ int a[3][3]={1,2,3,4,9,5,7,8,6}; int i,j,max; // clrscr();printf("array is:\n");for(i=0;i<3;i++){} max=fun(a);printf("Result is: %d\n",max);}18、#include 改错#includevoid main(){ int a[3][3]={4,4,34,37,3,12,5,6,5},i,j,max,min; //clrscr();max = min = a[0][0];for ( i=0; i<3; i++)/************found************/for ( j=0; j<3; j++) 将1改为0{ if ( max < a[i][j] )max = a[i][j];/************found************/if (min >a[i][j]) ⼩于号改为⼤于号min = a[i][j];}printf("The max is: %d\n", max);printf("The min is: %d\n", min);}19、#include 填空#includedouble average( int arr[ ], int n ){ int k=0,i; double s;s = 0;for ( i=0 ;i/************found************/if (arr[i] % 2 ==1) 是恒等号{ s = s + arr[i]; k++; }{int a[12]={10,4,2,7,3,12,5,34,5,9,21,18};double s;// clrscr();/************found************/s = average(a,12); 和第⼀题结果类似printf("The result is: %.2f\n", s);}20、#include "stdio.h" 编辑#include "math.h"#include "conio.h"#include "stdlib.h"void main(){ int m=76,n=40,t,i;/***********begin***********/i=n*m;int r;while(n!=0){r=m%n;m=n;n=r;}t=m;/************end************/printf("The Highest Common Divisor of %d and %d is %d\n",m,n,t); NONO(m,n,t);}NONO( int m,int n,int t){ FILE *f;f=fopen("D:\\exam\\01700311\\PROGOUT.DAT"," w");fprintf(f,"Maximal Common Divisor Of %d and %d is %d\n",m,n,t);21、#include 填空#include#include long int fun(int x){long int s=1; int i;for (i=1;i<=x;i++)s*=i;/************found************/return (s);}void main(){ long int m=12,n=2,s1,s2,s3;//clrscr();s1=fun(m);s2=fun(n);s3=fun(m-n);/************found************/printf("Cmn is : %ld",s1/(s2*s3));}22、#include "stdio.h" 编辑#include "math.h"#include "conio.h"#include "stdlib.h"void main(){ int m=1234,a,b,c,d;/***********begin***********/a=m%10;b=m%100/10; 这⾥补充的4⾏是求四位数各个数位的表⽰⽅法c=m%1000/100;d=m/1000;/************end************/printf("m=%d,%d %d %d %d\n",m,a,b,c,d); NONO(m,a,b,c,d); }{ FILE *f;f=fopen("D:\\exam\\01701219\\PROGOUT.DAT"," w");fprintf(f,"x=%d: %3d%3d%3d%3d####\n",x,a,b, c,d);fclose(f);}23、#include#include#includevoid main(){ int a[10]={2,3,5,7,8,9,10,11,12,13},i,j,k,count;// clrscr();count = 0;for ( i=0; i<10; i++){k=sqrt(a[i]);for ( j=2; j<=k; j++)if (a[i] % j == 0)break;/************found************/if(j>k)count++;}/************found************/printf("prime number(s) is(are): %d",count);}24:求⼀维数组a中值为奇数的元素之和。