printf(\} }
答案:1). Define;2). &b;3). S(a,b,c) 4). AREA(s,a,b,c)
功能:以下程序是用选择法对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;2). k=i 3). j 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(\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 ) 功能:输入字符串,再输入一个字符,将字符串中与输入字符相同的字符删除。 #include \ void fun(char a[],char c) { 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) 功能:有五个学生,每个学生有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++) { 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 4). struct student 功能:给出一个正整数,找到一组连续的数,使之累加和等于给定的正整数。输出存在多少组这样连续的数,及每组的左右边界。例如:15=1+2+3+4+5;15=4+5+6;15=7+8 所以结果有3组值分别是1->5, 4->6, 7->8 #include long left, right; long sum; long GIVEN; int count = 0; char line[100]; printf(\number\ printf(\==========\\n\ 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(\count); else printf(\} 答案: 1). left++ 或 left=left+1 或 ++left 2). count++ 或 count=count++ 或 ++count 或 count=count+1 3). right++ 或 right=right++ 或 ++right 或 right=right+1 功能:编程求任意给两个日期(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(\m2,&d2); /***********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(\m1,d1,y2,m2,d2,n); } 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)); } 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) 3). yday(y2,m2,d2);4). y1+1 或 1+y1 功能:打印出如下图案(菱形) * *** ***** ******* ***** *** * #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++) { 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 功能:输入三个整数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; 功能:h_sequence 是一组由0和1组成的数列,它定义如下: #include 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 char line[100]; printf(\gets(line); /***********SPACE***********/ if (【?】 == YES) printf(\else printf(\} 答案:1). strlen(x);2). count == 0 3). h_sequence(line) 功能:输出9*9口诀。 main() { int i,j,result; 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;3). result 功能:输入学生成绩并显示。 # include 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(\姓名:\ 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];3). &stu[i];4). printf 功能:求出二维数组中的最大元素值。 #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,【?】; { 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] 功能:数组名作为函数参数,求平均成绩。 float aver(float a[ ]) /*定义求平均值函数,形参为一浮点型数组名*/ { int i; float av,s=a[0];