当前位置:文档之家› 华师《C语言程序设计》练习题库答案

华师《C语言程序设计》练习题库答案

《C语言程序设计》试题库答案一、选择题(下列各题有四个选项,只有一个答案是正确的,请选出正确选项)1--5ACDCB 6--10 ACBAB 11--15CCADB 16--20BABCD 21--25CDACC 26--30 DDBDB 31--35DADAA 36—40BCBCC 41—45CDCCB 46--50 CBAAD 51--55 BCAAC 56--60 DBBCA61--65 CDCCD 66-70 CDDAC 71—75 CCDBC 76—80 DDBCA 81—85 CDDDB 86—90 BBBAB二、填空题1、【1】1 【2】22、【1】4 【2】83、 -164、 -32768 ~ 327675、【1】单精度型(或:float)【2】双精度型(或:double)6、【1】整型【2】字符型【3】枚举类型7、 18、 269、【1】12 【2】410、【1】6 【2】4 【3】211、 -6012、 213、【1】10 【2】614、 5.50000015、 3.50000016、 i:dec=-4,oct=177774,hex=fffc,unsigned=6553217、 *3.140000,3.142*18、 c:dec=120,oct=170,hex=78,ASCII=x19、 *d(1)=-2*d(2)=-2*d(3)=-2**d(4)=177776*d(5)=177776*d(6)=177776*20、 *d(1)=-2*d(2)=-2*d(3)=-2**d(4)=fffe*d(5)=fffe*d(6)=fffe*21、 *d(1)=3.50000e+00*d(2)=3.500e+00*d(3)=3.500e+00**d(4)=-3.50000e+00*d(5)=-3.50000e+00*d(6)=-3.5000e+00*22、 x=1 y=2 *sum*=310 Squared is: 10023、 (1) 10(2) □□□□10 (□表示空格)(3) 56.100000(4) □□□□□□3.141600(5) 5.68100e+02(6) □□□3.14160e+00(7) 3.1416(8) □□□□□□3.141624、 (1) 123.456000(2) □□□□□□□123.457(3) 123.4560(4) 8765.456700(5) □□□□□□8765.457(6) 8765.4567(7) 8765.456725、【1】可以使同一输出语句中的输出宽度得以改变。

【2】##1##□2##□□3##□□□4##□□□□526、 sjhiu27、 s=25428、 5,529、 3630、 331、 * *32、 a=-533、i%3==2&&i%5==3&&i%7==2 【2】j%5==034、【1】n%10 【2】max=t35、 sum%4==036、【1】s%10 【2】s/1037、 k=14 n=-138、 x=1,y=2039、 1,3,7,15,31,63,40、 m=4 n=241、 i<=x42、 2*x+4*y==9043、 -144、【1】1 【2】345、【1】t=t*i 【2】t=-t/i46、【1】&a,&b 【2】fabs(b-a)/n 【3】sin(a+i*h)*cos(a+i*h)47、【1】e=1.0 【2】new>=1e-648、 sum=1949、 *#50、 * * * * #51、【1】k+=2 【2】j!=i&&j!=k52、【1】m=n 【2】m 【3】m/=1053、【1】m=0,i=1 【2】m+=i54、【1】100-i*5-j*2 【2】k>=055、【1】j=1 【2】k>=0&&k<=656、【1】常量表达式【2】常量表达式57、按行主顺序存放58、【1】0 【2】459、 i*m+j+160、【1】0 【2】661、 10 4 6 8 2 4 6 12 262、【1】&a[i] 【2】i%4==0 【3】printf(―\n‖);63、【1】j<=2 【2】b[j][i]=a[i][j]【3】i<=264、 array a:1 2 34 5 6array b:1 42 53 665、【1】j=2 【2】j>=066、 The result is:16 711 12 1316 17 18 1921 22 23 24 2567、【1】i==j 【2】a[i][j]68、【1】m=100;m<1000 【2】m/10-x*10 【3】a[i]=m69、【1】x[i-1]+x[i-2] 【2】fabs((double)(x[i-1]-x[i]))【3】i+270、 The result is:1: 82: 53: 64: 3三、编成题1、 #includemain(){int day = 0, buy = 2;float sum = 0.0, ave;do{sum += 0.8 * buy;day++;buy *= 2;}while (buy <= 100);ave = sum / day;printf(―%f‖, ave);}2、 #includemain(){int i, x, y, last = 1;printf(―Input x and y:‖);scanf(―%d%d‖, &x, &y);for (i=1; i<=y; i++)last = last * x % 1000;printf(―\nThe last 3 digits of %d * * %d is: %d\n‖, x, y, last%1000);}3、 #includemain(){int i, j;float g, sum, ave;for (i=1; i<=6; i++){sum = 0;for (j=1; j<=5; j++){scanf(―%f‖, &g);sum += g;}ave = sum / 5;printf(―No.%d ave=%5.2f\n‖, i, ave);}}键盘输入:95 70 73 67 6460 65 77 86 9071 93 63 80 9087 83 91 95 89100 93 89 92 8552 63 66 70 71运行结果:N o.1 ave=73.80No.2 ave=75.60No.3 ave=79.40No.4 ave=89.00No.5 ave=91.80No.6 ave=64.404、 #define M 50main(){int a[M], c[5], i, n = 0, x;printf(―Enter 0 or 1 or 2 or 3 or 4, to end with –1\n‖);scanf(―%d‖, &x);while (x != -1){if (x >= 0 && x <= 4){a[n] = x;n++;}scanf(―%d‖, &x);}for (i=0; i<5; i++)c[i] = 0;for (i=0; ic[a[i]]++;printf(―The result is:\n‖);for (i=0; i<=4; i++)printf(―%d:%d\n‖,i c[i]);printf(―\n‖);}5、 main(){int a[5][4] = {3,6,2,1,3,9,0,8,2,1,5,6,7,2,7,4,0,0,0,0};int i, j;for (i=0; i<4; i++)for (j=0; j<4; j++)a[4][j] += a[i][j];printf(―The result is:\n‖);for (i=0; i<4; i++)printf(―%3d‖, a[4][j]);}6、 #define SIZE 30main()float b[SIZE/5], sum;int a[SIZE], i, j, k;for (k=2, i=0; i{a[i] = k;k += 2;}sum = 0.0;for (k=0, i=0; i{sum += a[i];j = i + 1;if ((i+1)%5 == 0){b[k] = sum / 5;sum = 0;k++;}}printf(―The result is:\n‖);for (i=0; iprintf(―%5.2f ‖, b[i]);printf(―\n‖);}7、 main(){int i, j, a[2][3] = {{2,4,6},{8,10,12}};printf(―The original array is:\n‖);for (i=0; i<2; i++){for (j=0; j<3; j++)printf(―%4d‖, a[i][j]);printf(―\n‖);}printf(―\nThe result is:\n‖);for (i=0; i<3; i++){for (j=0; j<2; j++)printf(―%4d‖, a[j][i]);printf(―\n‖);}}8、 main()int a [5][5], i, j, n = 1;for (i=0; i<5; i++)for (j=0; j<5; j++)a[i][j] = n++;printf(―The result is:\n‖);for (i=0; i<5; i++){for (j=0; j<5; j++)printf(―%4d‖, a[i][j]);printf(―\n‖);}}9、 main(){int a[10][10], i, j, k = 0, m, n;printf(―Enter n (n<10):\n‖);scanf(―%d‖, &n);if (n % 2 == 0)m = n / 2;elsem = n / 2 + 1;for (i=0; i{for (j=i; j{k++;a[i][j] = k;}for (j=i+1; j{k++;a[j][n-i-1] = k;}for (j=n-i-2; j>=i; j--){k++;a[n-i-1][j] = k;}for (j=n-i-2; j>=i+1; j--){k++;a[j][i] = k;}}for (i=0; i{for (j=0; jprintf(―%5d‖, a[i][j]);printf(―\n‖);}}10、 main(){int a[10], b[10], i;for (i=0; i<10; i++)scanf(―%d‖, &a[i]);for (i=1; i<10; i++)b[i] = a[i] / a[i-1];for (i=1; i<10; i++){printf(―%3d‖, b[i]);if (i % 3 == 0)printf(―\n‖);}}11、 #includemain(){char a[12] = ―adfgikmnprs‖, c;int i, top, bot, mid;printf(―Input a character\n‖);scanf(―%c‖, &c);printf(―c=\‘%c\‘\n‖, c);for (top=0, bot=10; top<=bot; ){mid = (top + bot) / 2;if (c == a[mid]){printf(―The position is %d\n‖, mid+1);break;}else if (c > a[mid])top = mid + 1;elsebot = mid – 1;}if (top > bot)printf(―* *\n‖);}12、 #include#includemain(){char a[80], b[80];int i = 0, j;printf(―Input two strings.\n‖);gets(a);gets(b);while (a[i++] != ‗\0‘);for (j=0, i--; j<5&&b[j]!=‘\0‘; j++)a[i++] = b[j];a[i] = ‗\0‘;puts(a);}13、 #include#includemain(){char a[80], b[] = ―ab‖, max;int i = 1, j;printf(―Input a string\n‖);gets(a);puts(a);max = a[0];while (a[i] != ‗\0‘){if (a[i] > max){max = a[i];j = i;}i++;}for (i=strlen(a)+2; i>j; i--)a[i] = a[i-2];a[i+1] = ‗a‘;a[i+2] = ‗b‘;puts(a);}14、 fun(int x, int y){int z;z = fabs(x-y);return(z);}15、 isprime(int a){int i;for (i=2; iif (a % i == 0)return 0;return 1;}。

相关主题