float avg=0: for(i=0:i<n:i++) scanf(“%d”,&a[i]): for(i=0:i<n:i++) {if(i%3=0)(1) printf(“%d”,a[i]): for(i=0;i<n:i++)avg+=a[i]: (2) printf(“average=%f\n”,avg): 2.利用选择排序法使数组中的数按照从大到小的次序(升序)排列。 #include"stdio.h” #define N 10 void main() {int a[N]={3,8,5,2,10,9,4,l,7,6},i,j,r,temp: for(i=0:i<N-1:i++) {(1) for(j=i+l:j<N:j++) if((2))r=j: if(r!=i) temp=a[r]:a[r]=a[i]:a[i]=temp: } printf("the array after sort:\n"): for(i=0:i<N:i++) printf("%5d",a[i]): 3.输出九九乘法表。 #include "stdio.h" void main() int i,j: for(i=1:i<=9:i++) {for((1)) printf("%3d*%d=%-3d",(2)): printf("\n"): 4.通过调用子函数average,分别求出主函数main中x和y数组的平均值并输出。 #include "stdio.h" f1 oat average((1)) int i; float sum=0: for(i=0:i<n:i++)sum=sumta[i]: (2)
float avg=0; for(i=0;i<n;i++) scanf(“%d”,&a[i]); for(i=0;i<n;i++) { if(i%3==0) (1) printf(“%d”,a[i]); } for(i=0;i<n;i++) avg+=a[i]; (2) printf(“average=%f\n”,avg); } 2. 利用选择排序法使数组中的数按照从大到小的次序(升序)排列。 #include "stdio.h" #define N 10 void main( ) { int a[N]={3,8,5,2,10,9,4,1,7,6},i,j,r,temp; for(i=0;i<N-1;i++) { (1) for(j=i+1;j<N;j++) if( (2) ) r=j; if(r!=i) { temp=a[r]; a[r]=a[i]; a[i]=temp; } } printf("the array after sort:\n"); for(i=0;i<N;i++) printf("%5d",a[i]); } 3. 输出九九乘法表。 #include "stdio.h" void main( ) { int i,j; for(i=1;i<=9;i++) { for( (1) ) printf("%3d*%d=%-3d", (2) ); printf("\n"); } } 4.通过调用子函数 average,分别求出主函数 main 中 x 和 y 数组的平均值并输出。 #include "stdio.h" float average( (1) ) { int i; float sum=0; for(i=0;i<n;i++) sum=sum+a[i]; (2)
} void main() {f1oatx[10]=1,2,3,4,5,6,7,8,9,10}: f1oaty[5]={1.5,2.5,3.5,4.5,5.5}: float avg: avg=average(x,10): printf("The array x average is $5.2f\n",avg): avg=average(y,5): printf("The array y average is %5.2f\n",avg): 5.将字符数组中大写字符改为小写字符,将小写字符改为大写字符。 #include "stdio.h" void main() {char str[30]=“I am a string”,*cp: (1) while(*cp) {if(*cp》=‘A'&*cp<=Z') *Cp=*Cp+32: else if(*cpl>=‘a'&&*cp<=‘z') *Cp=*Cp-32: else *cp=*cp: (2) puts(str): } 五、程序设计题(2个小题,共15分): 1.求1!-2!+3!-4!+…-10!。(7分) 2.编写一个计算字符串长度的函数,模拟C的“string.h”函数库内的计算字符串长度的函数strlen()。 (8分) 第二套试题答案 一、单项选择题(15个小题,每小题2分,共30分): 1-5C C CB B 6-10 DDD C B 11-15 B AA C D 二、填空题(15个小题,每空1分,共15分): 1.循环结构 2.(x>=30)&&(x<=80)&&(x!=50) 3..c 4.1 5.20 6.8 7.否
} void main( ) { float x[10]={1,2,3,4,5,6,7,8,9,10}; float y[5]={1.5,2.5,3.5,4.5,5.5}; float avg; avg=average(x,10); printf("The array x average is %5.2f\n",avg); avg=average(y,5); printf("The array y average is %5.2f\n",avg); } 5.将字符数组中大写字符改为小写字符,将小写字符改为大写字符。 #include "stdio.h" void main( ) { char str[30]=“I am a string”,*cp; (1) while(*cp) { if(*cp>=‘A’&&*cp<=‘Z’) *cp=*cp+32; else if(*cp1 >=‘a’&&*cp<=‘z’) *cp=*cp-32; else *cp=*cp; (2) } puts(str); } 五、 程序设计题(2 个小题,共 15 分): 1. 求 1!-2!+3! -4!+ … -10!。(7 分) 2. 编写一个计算字符串长度的函数,模拟 C 的“string.h”函数库内的计算字符串长度的函数 strlen( )。 (8 分) 第二套试题答案 一、 单项选择题(15 个小题,每小题 2 分,共 30 分): 1-5 C C C B B 6-10 D D D C B 11-15 B A A C D 二、 填空题(15 个小题,每空 1 分,共 15 分): 1. 循环结构 2. (x>=30)&&(x<=80)&&(x!=50) 3. .c 4. 1 5. 20 6. 8 7. 否
8.24 9.无限次 10.5 11.person.birthday.year=1990 12.宏定义 13.8 14.地址 15.int/整型 三、写出程序的运行结果(5个小题,每小题4分,共20分): 1.a=2,b=12.1268101278910 3.a+b=9 4.15 5.gfedcba 四、完善程序,在空白处填上相应的语句内容(5个小题,每小题4分,共20分): l.(l)printf(“\n”):(2)avg=avg/n: 2.(1)r=i:(2)a[j]<a[r] 3.(1)j=l:ji:j+(2)i,j,i*j 4.(1)float a[]int n (2)return (sum/n); 5.(1)cp=str:(2)cpt+: 五、程序设计题(2个小题,共15分): l.#include“stdio.h” void main() {f10ats=0,t=1:…1分 intn,p=l:…1分 for(n=l:n<=10:n++)…4分 {t=t知: s=s+t*p: p=-p: printf("1l-2!+-l0!=%f\n”,s):…1分 } 2.#include“stdio.h” int strlength(char *s); void main() int nl,n2: char*listl=“See no evil,hear no evil”: char *list2="blind and deaf?: nl=strlength(listl): n2=strlength(list2); puts(listl): printf(“The length of1istl=%d\n”,nl): puts(1ist2): printf(“The length of list2:=%dn”,n2): int strlength(char *s)
8. 24 9. 无限次 10. 5 11. person.birthday.year=1990 12. 宏定义 13. 8 14. 地址 15. int/整型 三、写出程序的运行结果(5 个小题,每小题 4 分,共 20 分): 1. a=2,b=1 2. 1 2 6 8 10 12 7 8 9 10 3. a+b=9 4. 15 5. gfedcba 四、完善程序,在空白处填上相应的语句内容(5 个小题,每小题 4 分,共 20 分): 1.(1)printf(“\n”); (2)avg=avg/n; 2.(1)r=i; (2)a[j]<a[r] 3.(1)j=1;j<i;j++ (2)i,j,i*j 4.(1)float a[ ],int n (2)return (sum/n); 5.(1)cp=str; (2)cp++; 五、程序设计题(2 个小题,共 15 分): 1. #include “stdio.h” void main( ) { float s=0,t=1; …………………… 1 分 int n,p=1; …………………… 1 分 for(n=1;n<=10;n++) …………………… 4 分 { t=t*n; s=s+t*p; p=-p; } printf("1!-2!+……-10!=%f\n",s); …………………… 1 分 } 2. #include “stdio.h” int strlength(char *s); void main( ) { int n1,n2; char *list1=“See no evil,hear no evil”; char *list2=“blind and deaf?; n1=strlength(list1); n2=strlength(list2); puts(list1); printf(“The length of list1=%d\n”,n1); puts(list2); printf(“The length of list2=%d\n”,n2); } int strlength(char *s)