试卷编号:10097 所属语言:Turbo C 试卷方案:cx1 试卷总分:1260分 共有题型:1种 一、程序填空 共126题 (共计1260分) 第1题 (10.0分) 题号:425
/*------------------------------------------------------- 【程序填空】
--------------------------------------------------------- 功能:当输入“2,5”的时候输出为“2 5 5” -------------------------------------------------------*/ #include
main() {
int f[max],i,j,k,m;
scanf(\
/***********SPACE***********/ for(i=0;i<=【?】;i++)f[i]=0;
/***********SPACE***********/ f[【?】]=1; for(i=k;i<=m;i++)
/***********SPACE***********/ for(j=i-k;j<=i-1;j++)f[i]【?】f[j];
printf(\}
答案: 1). M 2). k-1 或 k -1 3). += 或 =1+
第2题 (10.0分) 题号:466
/*------------------------------------------------------- 【程序填空】
---------------------------------------------------------
功能:用二分法求方程2X^3+4X^2+3X-6=0在(-10,10)之间的根 ,其中 X^n代表X的n次方。
-------------------------------------------------------*/ # include
float x0,x1,x2,fx0,fx1,fx2; do {
printf(\ scanf(\ fx1=x1*((2*x1-4)*x1+3)-6; fx2=x2*((2*x2-4)*x2+3)-6;
/***********SPACE***********/
1
}while (fx1*fx2【?】); do {
x0=(x1+x2)/2;
fx0=x0*((2*x0-4)*x0+3)-6;
/***********SPACE***********/
if(fx0*fx1【?】) {
x2=x0; fx2=fx0; } else {
x1=x0; fx1=fx0; } }
/***********SPACE***********/
while(【?】>=1e-5); printf(\}
答案: 1). >0 2). <0 3). fabs(fx0)
第3题 (10.0分) 题号:476
/*------------------------------------------------------- 【程序填空】
---------------------------------------------------------
功能:不用第三个变量,实现两个数的对调操作。 -------------------------------------------------------*/ #include
int a,b;
scanf(\ printf(\
/***********SPACE***********/
a= 【?】 ; /***********SPACE***********/
b= 【?】 ; /***********SPACE***********/
a= 【?】 ; printf(\}
2
答案: 1). a + b 2). a-b 或 a –b 3). a-b 或 a -b
第4题 (10.0分) 题号:483
/*------------------------------------------------------- 【程序填空】
---------------------------------------------------------
功能:对数组 A 中的N( 0 <N<100)个整数从小到大进行连续编 号,输出各个元素的编号。要求不能改变数组A中元素的 顺序,且相同的整数要具有相同的编号。 例如:数组是: A=(5,3,4,7,3,5,6) 则输出为:(3,1,2,5,1,3,4)
-------------------------------------------------------*/ main() {
int i,j,k,n,m=1,r=1,a[2][100]={0} ; printf(\ scanf(\ for(i=0 ; i printf(\ scanf(\ } /***********SPACE***********/ while(【?】) { for(i=0 ; i /***********SPACE***********/ 【?】 ; k=i ; for(j=i ; j /***********SPACE***********/ if(a[1][j]==0 && a[0][j] for(j=0 ; j if(a[1][j]==0 && a[0][j]==a[0][k]) { a[1][j]=a[1][k] ; m++ ; } } for(i=0 ; i printf(\ 3 } 答案: 1). m 第5题 (10.0分) 题号:458 /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 功能:用等分法在有序的循环数组中,找到最小元素的位置。 -------------------------------------------------------*/ int cyclic_min(int x[], int n) { int left = 0; int right = n - 1; int mid; /***********SPACE***********/ while (【?】) { mid = (left + right)/2; if (x[mid] < x[right]) /***********SPACE***********/ 【?】; else /***********SPACE***********/ 【?】; } return left; } #include int x[] = { 20, 23, 28, 35, 39, 40, 42, 8, 10, 15, 17, 19}; int n = sizeof(x)/sizeof(int); int loc, i; printf(\ printf(\ printf(\ for (i = 0; i < n; i++) printf(\ loc = cyclic_min(x, n); printf(\} 答案1). left < right 或 right>left 2). right = mid 3). left = mid + 1 或 left = 1+mid 4 第6题 (10.0分) 题号:34 /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 功能:以下程序的功能如(图1)。 -------------------------------------------------------*/ #include /***********SPACE***********/ float fun(【?】, int n) { /***********SPACE***********/ 【?】; float xa=0, s; for (j=0; j /***********SPACE***********/ 【?】; for (j=0; j s += (x[j]-xa)*(x[j]-xa)/n; /***********SPACE***********/ 【?】; } main ( ) { float x[100] = {193.199, 195.673, 195.757, 196.051, 196.092,196.596,196.579, 196.763}; clrscr( ); printf(\} 答案: 1). float x[] 或 float *x 2). int j 3). s = 0 或 s = 0.0 4). return s 或 return(s) 第7题 (10.0分) 题号:430 /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 功能:计算一元二次方程的根。 -------------------------------------------------------*/ #include /***********SPACE***********/ #include 【?】 main() { float a,b,c,disc,x1,x2,realpart,imagpart; scanf(\ 5 printf(\ /***********SPACE***********/ if(【?】<=1e-6) printf(\ else disc=b*b-4*a*c; if(fabs(disc)<=1e-6) printf(\ /***********SPACE***********/ else if(【?】) { x1=(-b+sqrt(disc))/(2*a); x2=(-b-sqrt(disc))/(2*a); printf(\ } else { realpart=-b/(2*a); imagpart=sqrt(-disc)/(2*a); printf(\ printf(\ printf(\ } } 答案: 1). 第8题 (10.0分) 题号:410 /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 功能:有n个整数,使其前面各数顺序向后移m个位置,最后m个数 变成最前面的m个数 -------------------------------------------------------*/ main() { int number[20],n,m,i; printf(\ scanf(\ printf(\ scanf(\ for(i=0;i scanf(\ scanf(\ /***********SPACE***********/ 6 move(【?】); for(i=0;i printf(\ printf(\} /***********SPACE***********/ move(【?】) int n,m,array[20]; { int *p,array_end; /***********SPACE***********/ array_end=*(【?】); for(p=array+n-1;p>array;p--) /***********SPACE***********/ *p=*(【?】); *array=array_end; m--; if(m>0) move(array,n,m); } 答案:1). number,n,m 2). array,n,m 3). array+n-1 或 array + n -1 第9题 (10.0分) 题号:15 /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 功能:分别求出一批非零整数中的偶数、奇数的平均值,用零作 为终止标记。 -------------------------------------------------------*/ main() { int x,i=0,j=0; float s1=0,s2=0,av1,av2; scanf(\ /***********SPACE***********/ while(【?】) { if(x%2==0) {s1=s1+x;i++;} /***********SPACE***********/ 【?】 { s2=s2+x; j++; } 4). p-1 或 p -1 7 /***********SPACE***********/ 【?】; } if(i!=0) av1=s1/i; else av1=0; if(j!=0) /***********SPACE***********/ 【?】 ; else av2=0; printf(\} 答案:1). x != 0 或 x 2). else 或 else if(x%2==1) 或 else 3). scanf(\ 4). av2=s2/j 第10题 (10.0分) 题号:456 /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 功能:利用指向结构的指针编写求某年、某月、某日是第 几天的程序,其中年、月、日和年天数用结构表示。 -------------------------------------------------------*/ main() { /***********SPACE***********/ 【?】 date { int y,m,d,n; /***********SPACE***********/ }【?】; int k,f,a[12]={31,28,31,30,31,30,31,31,30,31,30,31}; printf(\ scanf(\ f=x.y%4==0&&x.y0!=0||x.y@0==0; /***********SPACE***********/ a[1]+=【?】; if(x.m<1||x.m>12||x.d<1||x.d>a[x.m-1]) exit(0); for(x.n=x.d,k=0;k if(x%2!=0) 或 if(x%2) 8 } 答案: 1). Struct 2). X 3). F 4). x.n 第11题 (10.0分) 题号:462 /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 功能:把字符串中所有的字母改写成该字母的下一个字母,最后 一个字母z改写成字母a。大字母仍为大写字母,小写字母 仍为小写字母,其它的字符不变。 例如:原有的字符串为:“Mn.123xyZ”,调用该函数后,串中的 内容为:“No.123yzA”。 -------------------------------------------------------*/ #include main( ) { char a[N],*s; printf ( \ \ gets ( a ); printf ( \ \ puts( a ); /***********SPACE***********/ 【?】; while(*s) { if(*s=='z') *s='a'; else if(*s=='Z') *s='A'; else if(isalpha(*s)) /***********SPACE***********/ 【?】; /***********SPACE***********/ 【?】; } printf ( \ \ puts ( a ); } 答案:1). s=a 2). *s+=1 或 *s=*s+1 或 (*s)++ 或 ++(*s) 3). s++ 或 s=s+1 或 ++s 或 s= s + 1 9 第12题 (10.0分) 题号:27 /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 功能:统计一个字符串中的字母、数字、空格和其它字符的个数。 -------------------------------------------------------*/ #include \main () { char s1[80];int a[4]={0}; int k; /***********SPACE***********/ 【?】; gets(s1); /***********SPACE***********/ 【?】; puts(s1); for(k=0;k<4;k++) printf(\} void fun(char s[],int b[]) { int i; for (i=0;s[i]!='\\0';i++) if ('a'<=s[i]&&s[i]<='z'||'A'<=s[i]&&s[i]<='Z') b[0]++; /***********SPACE***********/ else if (【?】) b[1]++; /***********SPACE***********/ else if (【?】 ) b[2]++; else b[3]++; } 答案:1). void fun(char s[],int b[]) 2). fun(s1,a) 3). '0'<=s[i] && s[i]<='9' 或 s[i]>='0' && s[i]<='9' 或 '0'<=s[i] && '9'>=s[i] 或 s[i]>='0' && '9'>=s[i] 或 48<=s[i] && s[i]<=57 或 s[i]>=48 && s[i]<=57 或 48<=s[i] && 57>=s[i] 或 s[i]>=48 && 57>=s[i] 或 !( x < 48 || x > 57 ) 或 !( x < '0' || x > '9' ) 4). s[i] == ' ' 或 s[i] == 32 第13题 (10.0分) 题号:452 /*------------------------------------------------------- 10 【程序填空】 --------------------------------------------------------- 功能:从键盘输入若干行字符,输入后把他们存储到一磁盘文件 中。在从该文件中读出这些数据,将其中的小写字母转换 成大写字母后在屏幕上输出。 -------------------------------------------------------*/ #include \#define N 100 main() { FILE *fp; char c,*p,s[N][20]; int i,n; printf(\ /***********SPACE***********/ if(n<1【?】n>N) exit(0); printf(\ for(i=0;i /***********SPACE***********/ fp=fopen(\【?】); for(i=0;i p=s[i]; /***********SPACE***********/ while(*p!='\\0') if(!ferror(fp)) fputc(【?】,fp); } fclose(fp); printf(\ /***********SPACE***********/ fp=fopen(\【?】); while((c=fgetc(fp))!=EOF) { if(c>'a'&&c<='z')c-+32; putchar(c); } printf(\ fclose(fp); } 答案: 1). || 2). \ 3). *p++ 4). \11 第14题 (10.0分) 题号:469 /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 功能:用递归法将一个整数n转换成字符串,例如输入483,应输出 对应的字符串\。n的位数不确定,可以是任意位数的整 数。 -------------------------------------------------------*/ #include void convert(int n) { int i; /***********SPACE***********/ if((【?】)!=0) convert(i); /***********SPACE***********/ putchar(n+【?】); } main() { int number; printf(\ scanf(\ printf(\ if(number<0) { putchar('-'); /***********SPACE***********/ 【?】; } convert(number); } 答案: 1). i=n/10 2). '0' 3). number=-number 第15题 (10.0分) 题号:14 /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 功能:输出100到1000之间的各位数字之和能被15整除的所有数, 输出时每10个一行。 -------------------------------------------------------*/ main() 12 { int m,n,k,i=0; for(m=100;m<=1000;m++) { /***********SPACE***********/ 【?】; n=m; do { /***********SPACE***********/ k=k+【?】 ; n=n/10; } /***********SPACE***********/ 【?】; if (k==0) { printf(\ /***********SPACE***********/ if(i==0) 【?】; } } } 答案:1). k=0 2). n 或 n-n/10*10 或 n-10*(n/10) 3). while(n>0) 或 while(0 第16题 (10.0分) 题号:397 /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 功能:两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙 队为x,y,z三人。已抽签决定比赛名单。有人向队员打听比 赛的名单。a说他不和x比,c说他不和x,z比,请编程序找出 三队赛手的名单。 -------------------------------------------------------*/ main() { char i,j,k;/*i是a的对手,j是b的对手,k是c的对手*/ for(i='x';i<='z';i++) for(j='x';j<='z';j++) { /***********SPACE***********/ if(【?】) /***********SPACE***********/ 13 for(k='x';【?】;k++) { /***********SPACE***********/ if(【?】) { /***********SPACE***********/ if(i!='x'&&k!=【?】) printf(\ } } } } 答案:1). i!=j 或 i != j 2). k<='z' 或 'z'>=k 3). i!=k&&j!=k 或 i != k && j != k 第17题 (10.0分) 题号:447 /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 功能:已知一个数列,它的头两项分别是0和1,从第三项开始以 后的每项都是其前两项之和。编程打印此数,直到某项的 值超过200为止。 -------------------------------------------------------*/ main() { int i,f1=0,f2=1; /***********SPACE***********/ for(【?】;;i++) { printf(\ /***********SPACE***********/ if(f1>【?】) break; printf(\ if(f2>200) break; if(i%2==0) printf(\ f1+=f2; /***********SPACE***********/ f2+=【?】; } printf(\} 答案: 1). i=1 2). 200 3). f1 第18题 (10.0分) 题号:486 /*------------------------------------------------------- 4). 'z' 14 【程序填空】 --------------------------------------------------------- 功能:删除字符串中的数字字符。 例如:输入字符串:48CTYP9E6,则输出:CTYPE。 -------------------------------------------------------*/ #include /***********SPACE***********/ void fun (【?】) { char *p=s; while(*p) if((*p>='0')&&(*p<='9')) p++; /***********SPACE***********/ else *s++=【?】; /***********SPACE***********/ 【?】; } main( ) { char item[100] ; printf(\ gets(item); fun(item); printf(\} 答案:1). char *s 或 char s[] 2). *p++ 3). *s='\\0' 或 *s=0 第19题 (10.0分) 题号:448 /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 功能:已知X、Y、Z分别表示0~9中不同的数字,编程求出使算式 XXXX+YYYY+ZZZZ=YXXXZ成立时X、Y、Z的值,并要求打印该 算式。 -------------------------------------------------------*/ main() { int x,y,z; /***********SPACE***********/ for(x=0;【?】;x++) for(y=0;y<10;y++) { if(y==x) continue; for(z=0;z<10;z++) 15 { /***********SPACE***********/ if(z==x【?】z==y) continue; /***********SPACE***********/ if(1111*(x+y+z)==【?】+1110*x+z) { printf(\ /***********SPACE***********/ printf(\【?】); exit(0); } } } } 答案:1). x<10 或 10>x 2). || 3). 10000*y 或 y*10000 4). 10000*y+1110*x+z 或 10000 * y + 1110 * x + z 第20题 (10.0分) 题号:416 /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 功能:计算个人与各科平均成绩及全班平均成绩,并在屏幕上显 示出来。 ------------------------------------------------------*/ #define M 5 /*定义符号常量 人数为5*/ #define N 4 /*定义符号常量 课程为4*/ #include \main() { int i,j; void aver(float sco[M+1][N+1]); static float score[M+1][N+1]={{78,85,83,65}, {88,91,89,93}, {72,65,54,75},{86,88,75,60},{69,60,50,72}}; aver(score); clrscr(); printf(\学生编号 课程1 课程2 课程3 课程4 个人平均\\n\ for(i=0;i printf(\学生%d\\t\ /***********SPACE***********/ for(j=0;j<【?】;j++) printf(\ printf(\ } 16 for(j=0;j<8*(N+2);j++) printf(\ printf(\课程平均\ for(j=0;j printf(\ printf(\ getch(); } void aver(float sco[][N+1]) { int i,j; /***********SPACE***********/ for(i=0;i<【?】;i++) { for(j=0;j sco[i][N] += sco[i][j]; sco[M][j] += sco[i][j]; sco[M][N] += sco[i][j]; } /***********SPACE***********/ sco[i][N] 【?】 N; } for(j=0;j /***********SPACE***********/ sco[M][【?】] /= M; sco[M][N]=sco[M][N]/M/N; } 答案:1). N+1 或 1+N 或 5 2). M 或 5 3). /= 第21题 (10.0分) 题号:488 /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 功能:有一组基数值(正整数),输入一个正整数(小于100), 问:如果该数由基数值相加构成(每个基数可以重复使用) ,那么最少可能利用的基数是多少个。 -------------------------------------------------------*/ #include #define MAXSIZE 100 #define min(a,b) ((a) <= (b) ? (a) : (b)) 4). j 17 void main(void) { int num[MAXSIZE+1]; int base[] = { 1, 3, 4 }; int k= sizeof(base)/sizeof(int); int n; int i, j, MIN; char line[100]; printf(\ printf(\ for (i = 0; i < k; i++) printf(\ printf(\ gets(line); n = atoi(line); num[0] = 0; num[1] = 1; for (i = 2; i <= n; i++) { /***********SPACE***********/ 【?】; for (j = 0; j < k; j++) if (i >= base[j]) MIN = min(num[i-base[j]]+1, MIN); /***********SPACE***********/ 【?】; } /***********SPACE***********/ printf(\【?】); } 答案:1). MIN = n 2). num[i] = MIN 第22题 (10.0分) 题号:408 /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 功能:输入两个整数,求他们的按位与。 -------------------------------------------------------*/ #include int x,y,z=0,a,b,k=1; scanf(\ 3). num[n] 18 while(x>0&&y>0) { a=x%2; /***********SPACE***********/ x=【?】; b=y%2; y=y/2; /***********SPACE***********/ z=z+【?】; k=k*2; } /***********SPACE***********/ 【?】(\} 答案:1). x/2 2). a*b*k 或 a * b * k 3). printf 第23题 (10.0分) 题号:406 /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 功能:从键盘输入一个字符串,将小写字母全部转换成大写字母, 然后输出到一个磁盘文件“test”中保存。输入的字符串 以!结束。 -------------------------------------------------------*/ #include \#include FILE *fp; char str[100]; int i=0; /***********SPACE***********/ if((fp=fopen(\【?】))==NULL) { printf(\ exit(0); } printf(\ /***********SPACE***********/ gets(【?】); while(str[i]!='!') /***********SPACE***********/ { if(str[i]>='a'&&【?】) 19 str[i]=str[i]-32; fputc(str[i],fp); i++; } /***********SPACE***********/ fclose(【?】); fp=fopen(\ fgets(str,strlen(str)+1,fp); printf(\ fclose(fp); } 答案:1). \ 2). Str 3). str[i]<='z' 或 'z'>=str[i] 4). fp 第24题 (10.0分) 题号:479 /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 功能:十个小孩围成一圈分糖果,老师分给第一个小孩 10 块,第二 个小孩 2 块,第三个小孩 8 块,第四个小孩 22 块,第五个 小孩16 块,第六个小孩 4块,第七个小孩 10 块,第八个小孩 6 块,第九个小孩 14 块,第十个小孩20 块。然后所有的小孩 同时将自己手中的糖分一半给左边的小孩;糖块数为奇数的人 可向老师要一块。问经过这样几次调整后大家手中的糖的块数 都一样?每人各有多少块糖? -------------------------------------------------------*/ main() { int i,count=0,a[11]={0,10,2,8,22,16,4,10,6,14,20} ; /***********SPACE***********/ while(【?】) { for(i=1 ; i<=10 ; i++) a[i-1]=a[i-1]/2+a[i]/2 ; a[10]=a[10]/2+a[0] ; for(i=1 ; i<=10 ; i++) /***********SPACE***********/ if(【?】) a[i]++ ; for(i=1 ; i<10 ; i++) /***********SPACE***********/ if(a[i]!=a[i+1]) 【?】; if(i==10) break ; else 20 { a[0]=0 ; count++ ; } } printf(\} 答案:1). 1 2). a[i]%2 == 1 3). break 第25题 (10.0分) 题号:429 /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 功能:从读入的整数数据中,统计大于零的整数个数和小于零的 整数个数。用输入零来结束输入,程序中用变量i统计大于 零的整数个数,用变量j统计小于零的整数个数。 ------------------------------------------------------*/ #include int k,n,i,j; printf(\ i=j=0; scanf(\ while(n!=0) { /***********SPACE***********/ if(n>0)i=【?】; /***********SPACE***********/ if(n<0)j=【?】; /***********SPACE***********/ scanf(\【?】); } printf(\} 答案: 1). i + 1 2). j + 1 3). &n 第26题 (10.0分) 题号:475 /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 功能:下面create函数的功能是建立一个带头结点的单向链表, 新产生的结点总是插入在链表的末尾。输入0代表结束,单 向链表的头指针作为函数值返回。 21 -------------------------------------------------------*/ #include #define LEN sizeof(struct student) struct student { long num; struct student *next; }; struct student *creat() { struct student *head=NULL,*tail; long num; int a; /***********SPACE***********/ tail=(【?】)malloc(LEN); printf(\ do { scanf(\ /***********SPACE***********/ if(【?】) { /***********SPACE***********/ if(【?】) head=tail; else tail=tail->next; tail->num=num; tail->next=(struct list *)malloc(LEN); } else tail->next=NULL; }while(num!=0); return(head) ; } main() { struct student *p; p=creat(); printf(\ is\\n\ 22 while(p) { printf(\ p=p->next; } } 答案:1). struct student *2). num!=0 或 0!=num3). head == NULL 第27题 (10.0分) 题号:437 /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 功能:建立一个如下的二维数组,并按以下格式输出。1 0 0 0 1 0 1 0 1 0 0 0 1 0 0 0 1 0 1 0 1 0 0 0 1 -------------------------------------------------------*/ #include \void main() { int a[5][5]={0},*p[5],i,j; for(i=0;i<5;i++) /***********SPACE***********/ p[i]=【?】; for(i=0;i<5;i++) { /***********SPACE***********/ *(【?】+i)=1; /***********SPACE***********/ *(p[i]+5-(【?】))=1; } for(i=0;i<5;i++) { for(j=0;j<5;j++)printf(\ /***********SPACE***********/ 【?】; } } 答案:1). &a[i][0] 2). p[i] 3). i+1 或 1+I 第28题 (10.0分) 题号:445 /*------------------------------------------------------- 4). putchar('\\n'); 23 【程序填空】 --------------------------------------------------------- 功能:编程求任意给定的n个数中的奇数的连乘积,偶数的平方和 以及0的个数,n通过scanf()函数输入。 -------------------------------------------------------*/ main() { int r=1,s=0,t=0,n,a,i; printf(\ for(i=1;i<=n;i++) { printf(\ /***********SPACE***********/ scanf(\【?】); /***********SPACE***********/ if(【?】!=0) /***********SPACE***********/ 【?】=a; else if(a!=0) /***********SPACE***********/ s+=【?】; else t++; } printf(\} 答案:1). &a 2). a%2 3). r* 第29题 (10.0分) 题号:25 /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 功能:以下程序的功能如(图1)。 -------------------------------------------------------*/ /***********SPACE***********/ 【?】 main() { float x,f; scanf(\ /***********SPACE***********/ if(x<0) 【?】; /***********SPACE***********/ 4). a*a 24 else if(【?】) f=2*x+1; else f=sin(x)+5; /***********SPACE***********/ printf(\ 【?】); } 答案: 1). #include \或 #include 第30题 (10.0分) 题号:446 /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 功能:编程求某年第n天的日期。用数组表示月天数。 -------------------------------------------------------*/ main() { int y,m,f,n; int a[12]={31,28,31,30,31,30,31,31,30,31,30,31}; printf(\ scanf(\ /***********SPACE***********/ f=y%4==0&&y0!=0【?】y@0==0; /***********SPACE***********/ a[1]【?】f; if(n<1||n>365+f) { printf(\ } /***********SPACE***********/ for(m=1;m【?】a[m-1];n-=a[m-1],m++); printf(\} 答案:1). || 2). += 或 =a+ 3). > 第31题 (10.0分) 题号:481 /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 2). f=fabs( x + 1 ) 0<=x&&x<=5 或4). x,f 25 功能:一个自然数被 8 除余 1 ,所得的商被 8 除也余 1 ,再 将第二次的商被8 除后余7 ,最后得到一个商为a。又知这 个自然数被17除余4 ,所得的商被17除余15,最后得到一 个商是a的2倍。编写程序求这个自然数。 -------------------------------------------------------*/ main( ) { int i,n,a ; i=0 ; while(1) { if(i%8==1) { n=i/8 ; if(n%8==1) { n=n/8 ; /***********SPACE***********/ if(n%8==7) 【?】 ; } } if(i==4) { n=i/17 ; if(n==15) n=n/17 ; } if(2*a==n) { printf(\ /***********SPACE***********/ 【?】 ; } /***********SPACE***********/ 【?】; } } 答案:1). a=n/8 2). Break 3). i++ 或 ++i 或 i=i+1 第32题 (10.0分) 题号:461 /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 功能:从键盘输入一个字符串,将小写字母全部转换成大写字母, 然后输出到一个磁盘文件“test”中保存。输入的字符串 26 以!结束。 -------------------------------------------------------*/ #include \ main() { FILE *fp; char str[100],filename[10]; int i=0; if((fp=fopen(\ { printf(\ exit(0); } printf(\ gets(str); /***********SPACE***********/ while(【?】) { if(str[i]>='a'&&str[i]<='z') /***********SPACE***********/ 【?】; fputc(str[i],fp); i++; } fclose(fp); /***********SPACE***********/ fp=fopen(\【?】); fgets(str,strlen(str)+1,fp); printf(\ fclose(fp); } 答案:1). str[i] != '!' 2). str[i]=str[i]-32 或 str[i]= str[i] -32 第33题 (10.0分) 题号:21 /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 功能:将一个字符串中的前N个字符复制到一个字符数组中去, 不许使用strcpy函数。 -------------------------------------------------------*/ main ( ) { char str1[80],str2[80]; 3). \或 \或 \27 int i,n; /***********SPACE***********/ gets(【?】); scanf(\ /***********SPACE***********/ for (i=0; 【?】 ;i++) /***********SPACE***********/ 【?】; /***********SPACE***********/ 【?】; printf(\ } 答案: 1). str1 2). i 4). str2[n]='\\0' 或 str2[i]='\\0' 或 str2[n]=0 或 str2[i]=0 或 *(str2+n)='\\0' 或 *(str2+i)='\\0' 或 *(str+n)=0 或 *(str2+i)=0 第34题 (10.0分) 题号:13 /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 功能:产生并输出杨辉三角的前七行。 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 1 6 15 20 15 6 1 -------------------------------------------------------*/ main ( ) { int a[7][7]; int i,j,k; for (i=0;i<7;i++) { a[i][0]=1; /***********SPACE***********/ 【?】; } for (i=2;i<7;i++) 28 /***********SPACE***********/ for (j=1;j<【?】;j++) /***********SPACE***********/ a[i][j]= 【?】; for (i=0;i<7;i++) { /***********SPACE***********/ for (j=0; 【?】;j++) printf(\ printf(\ } } 答案:1). a[i][i]=1 2). i 3). a[i-1][j]+a[i-1][j-1] 或 a[i-1][j-1]+a[i-1][j] 4). j<=i 或 i>=j 或 jj 或 j-1j-1 第35题 (10.0分) 题号:424 /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 功能:输出结果为: * * * * * * * * * * * * * * * * * * * * -------------------------------------------------------*/ main() { /***********SPACE***********/ static char 【?】={'*','*','*','*','*'}; int i,j,k; char space=' '; for(i=0;i<5;i++) { printf(\ /***********SPACE***********/ for(j=1;j<=3*i;j++) printf(\【?】); /***********SPACE***********/ for(k=0;k<【?】;k++) printf(\ } printf(\ 29 } 答案:1). a[5] 或 a[] 2). space 或 ' ' 3). 5 或 =4 第36题 (10.0分) 题号:485 /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 功能: 统计子字符串substr在字符串str中出现的次数。 例如:若字符串为\,子字符串为\,则应输出2。 若字符串为\,子字符串为\,则应输出3 ------------------------------------------------------*/ #include fun (char *substr,char *str) { int i,j,k,num=0; for(i=0; str[i]; i++) for(j=i,k=0;substr[k]==str[j];k++,j++) /***********SPACE***********/ if(substr[【?】]=='\\0') { num++; /***********SPACE***********/ 【?】; } return num; } main() { char str[80],substr[80]; printf(\ gets(str); printf(\ gets(substr); /***********SPACE***********/ printf(\【?】); } 答案:1). k + 1 2). Break 3). fun(substr,str) 第37题 (10.0分) 题号:411 /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 30 功能:有n个人围成一圈,顺序排号。从第一个人开始报数(从1 到3报数),凡报到3的人退出圈子,问最后留下的是原来 第几号的那位。 -------------------------------------------------------*/ #define nmax 50 main() { int i,k,m,n,num[nmax],*p; printf(\ scanf(\ p=num; /***********SPACE***********/ for(i=0;【?】;i++) /***********SPACE***********/ *(p+i)=【?】; i=0; k=0; m=0; while(m /***********SPACE***********/ if(【?】!=0) k++; if(k==3) { *(p+i)=0; k=0; m++; } i++; if(i==n) i=0; } /***********SPACE***********/ while(【?】) p++; printf(\} 答案:1). i 第38题 (10.0分) 题号:35 /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 功能:计算并输出high以内最大的10个素数之和,high由主函数传 给fun函数,若high的值为100,则函数的值为732。 -------------------------------------------------------*/ 31 #include int sum = 0, n=0, j, yes; /***********SPACE***********/ while ((high >= 2) && (【?】)) { yes = 1; for (j=2; j<=high/2; j++ ) /***********SPACE***********/ if (【?】) { yes=0; break; } if (yes) { sum +=high; n++; } high--; } /***********SPACE***********/ 【?】; } main ( ) { clrscr( ); printf(\} 答案:1). n<10 或 10>n 2). high%j == 0 或 !(high%j) 第39题 (10.0分) 题号:28 /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 功能:将十进制数转换成十六进制数。 -------------------------------------------------------*/ #include \#include \ 3). return sum 或 return (sum) 32 main () { int a,i; char s[20]; printf(\ scanf(\ c10_16(s,a); /***********SPACE***********/ for(【?】;i>=0;i--) printf(\ printf(\} c10_16(char p[],int b) { int j,i=0; /***********SPACE***********/ while (【?】) { j=b; if(j>=0&&j<=9) /***********SPACE***********/ 【?】; else p[i]=j+55; b=b/16; i++; } /***********SPACE***********/ 【?】; } 答案: 1). i=strlen(s)-1 或 i=-1+strlen(s) 2). b>0 或 0 4). p[i]='\\0' 或 p[i]=0 或 p[i]=NULL 或 *(p+i)='\\0' 或 *(p+i)=0 或 *(p+i)=NULL 第40题 (10.0分) 题号:414 /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 功能:通过函数的递归调用计算阶乘。 -------------------------------------------------------*/ long power(int n) { long f; if(n>1) 33 /***********SPACE***********/ f=【?】; else f=1; return(f); } main() { int n; long y; printf(\ /***********SPACE***********/ scanf(\【?】); y=power(n); /***********SPACE***********/ printf(\【?】); getch(); } 答案:1). power(n-1)*n 或 power( n - 1 ) * n 或 n*power(n-1) 2). &n 第41题 (10.0分) 题号:454 /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 功能:三角形的面积为:area=sqrt(s*(s-a)*(s-b)*(s-c)).其中 ,s=(a+b+c)/2,a、b、c为三角形三条边的长。定义两个带 参数的宏,一个用来求s,另一个用来求area。编写程序, 在程序中用带参数的宏求面积area。 ------------------------------------------------------*/ #include \ /***********SPACE***********/ #【?】 S(x,y,z)(x+y+z)/2 #define AREA(s,x,y,z)sqrt(s*(s-x)*(s-y)*(s-z)) main() { float a,b,c,s,area; printf(\ /***********SPACE***********/ scanf(\【?】,&c); if(a+b>c&&b+c>a&&c+a>b) { /***********SPACE***********/ 3). power(n) 或 y 34 s=【?】; /***********SPACE***********/ area=【?】; printf(\ } } 答案:1). Define 2). &b 3). S(a,b,c) 4). AREA(s,a,b,c) 第42题 (10.0分) 题号:6 /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 功能:以下程序是用选择法对10个整数按升序排序。 -------------------------------------------------------*/ /***********SPACE***********/ 【?】 main() { int i,j,k,t,a[N]; for(i=0;i<=N-1;i++) scanf(\ for(i=0;i /***********SPACE***********/ 【?】; /***********SPACE***********/ for(j=i+1; 【?】;j++) if(a[j] /***********SPACE***********/ if(【?】) { t=a[i]; a[i]=a[k]; a[k]=t; } } printf(\ for(i=0;i<=N-1;i++) printf(\ printf(\} 答案:1). #define N 10 3). j 2). k=i 4). k != i 35 第43题 (10.0分) 题号:417 /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 功能:利用全局变量计算长方体的体积及三个面的面积。 -------------------------------------------------------*/ int s1,s2,s3; int vs(int a,int b,int c) { int v; /***********SPACE***********/ v=【?】; s1=a*b; /***********SPACE***********/ s2=【?】; s3=a*c; return v; } main() { int v,l,w,h; clrscr(); printf(\: \ /***********SPACE***********/ scanf(\【?】,&w,&h); /***********SPACE***********/ v=【?】; printf(\ s1=%d s2=%d s3=%d\\n\ getch(); } 答案:1). a*b*c 或 a * b * c 2). b*c 或 b * c 3). &l 4). vs(l,w,h) 或 vs( l , w , h ) 第44题 (10.0分) 题号:30 /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 功能:输入字符串,再输入一个字符,将字符串中与输入字符相 同的字符删除。 -------------------------------------------------------*/ #include \ void fun(char a[],char c) { 36 int i,j; /***********SPACE***********/ for(i=j=0; 【?】;i++) if(a[i]!=c) a[j++]=a[i]; /***********SPACE***********/ 【?】; } main() { char a[20],cc; gets(a); /***********SPACE***********/ 【?】; /***********SPACE***********/ 【?】; puts(a); } 答案:1). a[i] != '\\0' 或 a[i] 或 a[i]!=NULL 2). a[j]='\\0' 或 a[j]=NULL 或 a[j]=0 3). cc=getchar() 或 scanf(\ 4). fun(a,cc) 第45题 (10.0分) 题号:407 /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 功能:有五个学生,每个学生有3门课的成绩,从键盘输入以上数 据(包括学生号,姓名,三门课成绩),计算出平均成绩, 设原有的数据和计算出的平均分数存放在磁盘文件\ 中。 -------------------------------------------------------*/ #include \struct student { char num[6]; char name[8]; int score[3]; float avr; } stu[5]; main() { int i,j,sum; FILE *fp; /*input*/ for(i=0;i<5;i++) 37 { printf(\ printf(\ scanf(\ printf(\ scanf(\ sum=0; /***********SPACE***********/ for(j=0;【?】;j++) { printf(\ scanf(\ /***********SPACE***********/ sum+=stu[i].【?】; } stu[i].avr=sum/3.0; } fp=fopen(\ /***********SPACE***********/ for(i=0;i<5;【?】) /***********SPACE***********/ if(fwrite(&stu[i],sizeof(【?】),1,fp)!=1) printf(\ fclose(fp); } 答案:1). j<3 或 3>j 2). score[j] 3). i++ 或 ++i 或 i=i+1 第46题 (10.0分) 题号:471 /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 功能:给出一个正整数,找到一组连续的数,使之累加和等于给 定的正整数。输出存在多少组这样连续的数,及每组的左 右边界。 例如:15=1+2+3+4+5 15=4+5+6 15=7+8 所以结果有3组值分别是1->5, 4->6, 7->8 -------------------------------------------------------*/ #include void main(void) { 4). struct student 38 long left, right; long sum; long GIVEN; int count = 0; char line[100]; printf(\ printf(\ printf(\ gets(line); GIVEN = atol(line); for (sum = 0, right = 1; sum < GIVEN; sum += right, right++) ; for (left = 1, right--; left <= GIVEN/2; ) if (sum > GIVEN) { sum -= left; /***********SPACE***********/ 【?】; } else { if (sum == GIVEN) { printf(\ GIVEN, left, right); /***********SPACE***********/ 【?】; } /***********SPACE***********/ 【?】; sum += right; } if (count > 0) printf(\ else printf(\} 答案:1). left++ 或 left=left+1 或 ++left 2). count++ 或 count=count++ 或 ++count 或 count=count+1 3). right++ 或 right=right++ 或 ++right 或 right=right+1 第47题 (10.0分) 题号:451 /*------------------------------------------------------- 【程序填空】 39 --------------------------------------------------------- 功能:编程求任意给两个日期(Y0年M0月DO日和Y1年M1月D1日) 相差的天数。 -------------------------------------------------------*/ main() { int y1,m1,d1,y2,m2,d2,n,i; printf(\ scanf(\ /***********SPACE***********/ if(m1<1||m1>12||d1<1||d1>【?】) exit(0); printf(\ /***********SPACE***********/ if(m2<1||m2>12||d2<1||d2>【?】) exit(0); if(y1>y2||y1==y2&&m1>m2||y1==y2&&m1==m2&&d1>d2) { n=y1; y1=y2; y2=n; n=m1; m1=m2; m2=n; n=d1; d1=d2; d2=n; } else { /***********SPACE***********/ n=yend(y1,m1,d1)+【?】; /***********SPACE***********/ for(i=【?】;i printf(\} int f(int y) { return(y%4==0&&y0!=0||y@0==0); } int mday(int y,int m) { return(31-((m==4)+(m==6)+(m==9)+(m==11))-(3-f(y))*(m==2)); 40 } int yday(int y,int m,int d) { return(d+31*((m>1)+(m>3)+(m>5)+(m>7)+(m>8)+(m>10))+30*((m>4)+(m>6)+(m>9)+(m>11))+(28+f(y))*(m>2)); } int yend(int y,int m,int d) { return(365+f(y)-yday(y,m,d)); } 答案:1). mday(y1,m1) 2). mday(y2,m2) 第48题 (10.0分) 题号:398 /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 功能:打印出如下图案(菱形) * *** ***** ******* ***** *** * -------------------------------------------------------*/ #include int i,j,k; /***********SPACE***********/ for(i=0;【?】;i++) { for(j=0;j<=4-i;j++) printf(\ /***********SPACE***********/ for(k=1;k<=【?】;k++) printf(\ printf(\ } /***********SPACE***********/ for(【?】;j<3;j++) 3). yday(y2,m2,d2) 4). y1+1 或 1+y1 41 { for(k=0;k for(k=0;k<5-2*j;k++) printf(\ printf(\ } } 答案:1). i<=3 或 i<4 或 3>=i 或 4>i 2). 2*i+1 或 i*2+1 或 1+2*i 或 1+i*2 3). j=0 第49题 (10.0分) 题号:402 /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 功能:输入三个整数x,y,z,请把这三个数由小到大输出。 -------------------------------------------------------*/ main() { int x,y,z,t; scanf(\ /***********SPACE***********/ if (x>y){【?】} /***********SPACE***********/ if(x>z){【?】} /***********SPACE***********/ if(y>z){【?】} printf(\} 答案:1). t=x;x=y;y=t; 2). t=z;z=x;x=t; 3). t=y;y=z;z=t; 第50题 (10.0分) 题号:489 /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 功能:h_sequence 是一组由0和1组成的数列,它定义如下: 利用函数检测输入的字符串是否是h_sequence数列 -------------------------------------------------------*/ #include 42 int h_sequence(char x[]) { /***********SPACE***********/ int length = 【?】; int count; int i; for (count = 1, i = 0; count != 0 && i < length; i++) switch (x[i]) { case '0':count--; break; case '1':count++; break; default:return NO; } /***********SPACE***********/ return 【?】&& i >= length; } #include void main(void) { char line[100]; printf(\ gets(line); /***********SPACE***********/ if (【?】 == YES) printf(\ else printf(\} 答案:1). strlen(x) 2). count == 0 第51题 (10.0分) 题号:403 /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 功能:输出9*9口诀。 -------------------------------------------------------*/ main() { int i,j,result; 3). h_sequence(line) 43 printf(\ /***********SPACE***********/ for (i=1;【?】;i++) { /***********SPACE***********/ for(j=1;j<10;【?】) { result=i*j; /***********SPACE***********/ printf(\【?】); } printf(\ } } 答案:1). i<10 或 10>I 2). j++ 或 ++j 或 j=j+1 第52题 (10.0分) 题号:421 /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 功能:输入学生成绩并显示。 -------------------------------------------------------*/ # include struct student { char number[6]; char name[6]; int score[3]; } stu[2]; void output(struct student stu[2]); void main() { int i, j; /***********SPACE***********/ for(i=0; i<2; 【?】) { printf(\请输入学生%d的成绩:\\n\ printf(\学号:\ /***********SPACE***********/ scanf(\【?】.number); printf(\姓名:\ 3). result 44 scanf(\ for(j=0; j<3; j++) { printf(\成绩 %d. \ /***********SPACE***********/ scanf(\【?】.score[j]); } printf(\ } output(stu); } void output(struct student stu[2]) { int i, j; printf(\学号 姓名 成绩1 成绩2 成绩3\\n\ for(i=0; i<2; i++) { /***********SPACE***********/ 【?】(\ for(j=0; j<3; j++) printf(\ printf(\ } } 答案:1). i++ 或 ++i 或 i=i+1 2). &stu[i] 第53题 (10.0分) 题号:438 /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 功能:求出二维数组中的最大元素值。 -------------------------------------------------------*/ #include \void main() { int a[3][4]={{1,3,5,7},{2,4,6,8},{15,17,34,12}}; /***********SPACE***********/ printf(\【?】); } max_value(m,n,array) /***********SPACE***********/ int m,n,【?】; 3). &stu[i] 4). printf 45 { int i,j,max; max=array[0][0]; for(i=0;i /***********SPACE***********/ if(max 答案:1). max_value(3,4,a) 2). array[][4] 或 array[3][4] 3). max=array[i][j] 第54题 (10.0分) 题号:415 /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 功能:数组名作为函数参数,求平均成绩。 -------------------------------------------------------*/ float aver(float a[ ]) /*定义求平均值函数,形参为一浮点型数组名*/ { int i; float av,s=a[0]; for(i=1;i<5;i++) /***********SPACE***********/ s+=【?】[i]; av=s/5; /***********SPACE***********/ return 【?】; } void main() { float sco[5],av; int i; printf(\ for(i=0;i<5;i++) /***********SPACE***********/ scanf(\【?】); /***********SPACE***********/ av=aver(【?】); printf(\ getch(); } 答案:1). A 2). av 或 (av) 3). &sco[i] 或 sco+I 4). sco 46 第55题 (10.0分) 题号:5 /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 功能:将一个字符串中下标为m的字符开始的全部字符复制成为另 一个字符串。 -------------------------------------------------------*/ #include void strcopy(char *str1,char *str2,int m) { char *p1,*p2; /***********SPACE***********/ 【?】; p2=str2; while(*p1) /***********SPACE***********/ 【?】; /***********SPACE***********/ 【?】; } main() { int i,m; char str1[80],str2[80]; gets(str1); scanf(\ /***********SPACE***********/ 【?】; puts(str1);puts(str2); } 答案:1). p1= str1 + m 2). *p2++=*p1++ 或 *(p2++)=*(p1++) 或 *p2=*p1,p2++,p1++ 或 *p2=*p1++,p2++ 或 *p2++=*p1,p1++ 3). *p2='\\0' 或 *p2=0 或 *p2=NULL 4). strcopy(str1,str2,m) 第56题 (10.0分) 题号:24 /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 功能:对任一整数N(N≠0),它都可以分解成1(或-1)和一些质数(素 数)因子的形式。 例如:当N=150时,可分解成1×2×3×5×5; 当N=-150时,可分解为-1×2×3×5×5。 47 下边程序能实现这种分解过程。当N=150,输出以下分解结 果:N= 1* 2* 3* 5* 5 -------------------------------------------------------*/ main() { int n,i,j,r; scanf(\ if (n==0) { printf (\ exit(0); } /***********SPACE***********/ else if (【?】) printf(\ else { printf(\ n=-n; } /***********SPACE***********/ for(【?】;i<=n;i++) { /***********SPACE***********/ 【?】 ; while(r==0) { printf(\ /***********SPACE***********/ 【?】 ; r=n%i; } } printf(\} 答案:1). n>0 或 0 第57题 (10.0分) 题号:29 /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 功能:下面函数为二分法查找key值。数组中元素已递增排序, 若找到key则返回对应的下标,否则返回-1。 -------------------------------------------------------*/ 4). n=n/i 或 n/=i 48 fun(int a[],int n,int key) { int low,high,mid; low=0; high=n-1; /***********SPACE***********/ while(【?】) { mid=(low+high)/2; if(key /***********SPACE***********/ 【?】; else if(key>a[mid]) /***********SPACE***********/ 【?】; else /***********SPACE***********/ 【?】; } return -1; } main() { int a[10]={1,2,3,4,5,6,7,8,9,10}; int b,c; b=4; c=fun(a,10,b); if(c==1) printf(\ else printf(\} 答案:1). low<=high 或 high>=low 3). low= mid + 1 第58题 (10.0分) 题号:23 /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 功能:求一个二维数组中每行的最大值和每行的和。-------------------------------------------------------*/ #include \main() { 2). high=mid-1 4). return mid 或 return (mid) 49 int a[5][5],b[5],c[5],i,j,k,s=0; for(i=0;i<5;i++) for(j=0;j<5;j++) a[i][j]=random(40)+20; for(i=0;i<5;i++) { /***********SPACE***********/ k=a[i][0]; 【?】 ; for(j=0;j<5;j++) { /***********SPACE***********/ if(k b[i]=k; /***********SPACE***********/ 【?】 ; } for(i=0;i<5;i++) { for(j=0;j<5;j++) /***********SPACE***********/ printf(\【?】 ); printf(\ printf(\ } } 答案:1). s=0 2). k=a[i][j] 3). c[i]=s 第59题 (10.0分) 题号:395 /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 功能:输入3个数a,b,c,按从小到大的顺序输出。 -------------------------------------------------------*/ main() { void swap(int *p1, int *p2); int n1,n2,n3; int *pointer1,*pointer2,*pointer3; printf(\ scanf(\ pointer1=&n1; pointer2=&n2; 4). a[i][j] 50