int number[10]; input(number); max_min(number); output(number); }
input(number) int number[10]; { int i;
/***********SPACE***********/ for(i=0;i<9;【?】)
scanf(\scanf(\}
/***********SPACE***********/ max_min(【?】) int array[10]; {
int *max,*min,k,l; int *p,*arr_end;
/***********SPACE***********/ arr_end=【?】; max=min=array;
for(p=array+1;p*max) max=p;
/***********SPACE***********/ else if(【?】) min=p; k=*max; l=*min;
*p=array[0];array[0]=l;l=*p; *p=array[9];array[9]=k;k=*p; return; }
output(array) int array[10]; {
int *p;
for(p=array;p
printf(\}
答案:1). i++ 或 i=i+1 或 ++i 2). array
3). array+10 或 10+array
4). *p<*min 或 *min>*p
功能:下面的程序是求1!+3!+5!+……+n!的和。 main() {
long int f,s; int i,j,n;
/***********SPACE***********/ 【?】;
scanf(\
/***********SPACE***********/ for(i=1;i<=n; 【?】) { f=1;
/***********SPACE***********/ for(j=1; 【?】;j++)
/***********SPACE***********/ 【?】; s=s+f; }
printf(\}
答案:1). s=0
2). i+=2 或 i=i+2 或 i++,i++
3). j<=i 或 i>=j 或 jj 4). f= f * j
功能:输入某年某月某日,判断这一天是这一年的第几天? main() {
int day,month,year,sum,leap;
printf(\scanf(\switch(month) {
case 1:sum=0;break; case 2:sum=31;break; case 3:sum=59;break;
/***********SPACE***********/ case 4:【?】;break; case 5:sum=120;break; case 6:sum=151;break; case 7:sum=181;break; case 8:sum=212;break;
case 9:sum=243;break; case 10:sum=273;break; case 11:sum=304;break; case 12:sum=334;break;
default:printf(\}
/***********SPACE***********/ 【?】;
/***********SPACE***********/ if(year@0==0||(【?】) leap=1; else leap=0;
/***********SPACE***********/ if(【?】) sum++;
printf(\}
答案:1). sum=90
2). sum=sum+day 或 sum= sum + day
3). year%4==0&&year0!=0) 或 year%4 == 0 && year0 != 0
4). leap==1&&month>2 或 leap == 1 && month>2 或 leap == 1 && 2 int first = 0; int last = n-1; int middle, index; index = -1; while (first <= last) { middle = (first + last) / 2; /***********SPACE***********/ if (【?】) { index = middle; break; } /***********SPACE***********/ else if (【?】) last = middle - 1; else first = middle + 1; } return index; } #include int x[] = { -1, 0, 1, 3, 5, 7, 9, 10}; int n = sizeof(x)/sizeof(int); int answer, i; printf(\printf(\printf(\for (i = 0; i < n; i++) printf(\ /***********SPACE***********/ 【?】; if (answer >= 0) printf(\answer, answer); else printf(\i\} 答案:1). x[middle] == middle 2). x[middle] > middle 或 middle 功能:在歌星大奖赛中,有10个评委为参赛的选手打分,分数为1~100分。选手最后得分为:去掉一个最高分和一个最低分后其余8个分数的平均值。请编写一个程序实现。#include int score,i,max,min,sum; max=-32768; min=32767; sum=0; for(i=1;i<=10;i++) { printf(\ /***********SPACE***********/ scanf(\【?】); sum+=score; /***********SPACE***********/ if(【?】) max=score; /***********SPACE***********/ if(【?】) min=score; } printf(\min score:%d\\n\ /***********SPACE***********/ printf(\【?】); } 答案: 1). &score 2). score>max 或 max 4). (sum-max-min)/8 或 (sum -max - min )/8 功能:从键盘上输入两个复数的实部与虚部,求出并输出它们的和、差、积、商。 #include float a,b,c,d,e,f; printf(\输入第一个复数的实部与虚部:\scanf(\ printf(\输入第二个复数的实部与虚部:\scanf(\ /***********SPACE***********/ 【?】; f=b+d; printf(\相加后复数:实部:%f,虚部:%f\\n\e=a*c-b*d; /***********SPACE***********/ 【?】; printf(\相乘后复数:实部:%f,虚部:%f\\n\e=(a*c+b*d)/(c*c+d*d); /***********SPACE***********/ 【?】; printf(\相除后复数:实部:%f,虚部:%f\\n\} 答案:1). e=a+c 或 e=c+a 2). f=a*d+b*c 或 f= a*d + b*c 或 f= a * d + b * c 3). f=(b*c-a*d)/(c*c+d*d) 或 f=(b*c-a*d) / (c*c+d*d) 或 f=( b * c - a * d ) / ( c * c + d * d ) 功能:输入一个学生的生日(年:y0、月:m0、日:d0),并输入当前日期(年:y1、月:m1、日:d1)。求出该学生的年龄(实足年龄)。 #include {int age,y0,y1,m0,m1,d0,d1; printf(\输入生日日期(年,月,日)\/***********SPACE***********/ 【?】(\printf(\输入当前日期(年,月,日)\scanf(\age=y1-y0; /***********SPACE***********/ if(m0【?】m1)age--; /***********SPACE***********/ if((m0【?】m1)&&(d0>d1))age--; printf(\} 答案:1). Scanf;2). >;3). ==; 功能:算式:?2*7?=3848中缺少一个十位数和一个个位数。编程求出使该算式成立时的这两个数,并输出正确的算式。 main() { int x,y; /***********SPACE***********/ for(x=1;【?】;x++) /***********SPACE***********/ for(【?】;y<10;y++) /***********SPACE***********/ if(【?】==3848) { /***********SPACE***********/ printf(\【?】); exit(0); } } 答案:1). x<10 或 10>x 或 x<=9 或 9>=x 2). y=0;3). (10*x+2)*(70+y) 或 ( 10 * x + 2 ) * ( 70 + y ) 4). 10*x+2,70+y 或 10 * x + 2 , 70 + y 功能:用条件编译方法实现以下功能。输入 一行电报文字,可以任选两种方式输出,一种为原文输出;另一种将字母变成下一个字母(如a变成b,C变成D,其他字符不变)输出。 #define CHANGE main() { /***********SPACE***********/ char str[80],【?】=str; int k; printf(\ /***********SPACE***********/ gets【?】; printf(\#ifdef CHANGE for(;*s!='\\0';s++) { if(*s>='a'&&*s<='z'||*s>='A'&&*s<='Z') { (*s)++; if(*s>'Z'&&*s<'Z'+2) /***********SPACE***********/ 【?】; if(*s>'z') /***********SPACE***********/ *s=【?】; } } printf(\#else printf(\#endif } 答案:1). *s;2). (str) 或 (s);3). *s='A' 4). 'a' 功能:从低位开始取出长整型变量s中奇数位上的数,依次构成一个新数放在t中。 #include long sl=10; s /= 10; /***********SPACE***********/ *t = s 【?】 10; while(s>0) { /***********SPACE***********/ s = 【?】; /***********SPACE***********/ *t = s*sl【?】; /***********SPACE***********/ sl = sl 【?】10; } } main() { long s, t; clrscr(); printf(\fun(s, &t); printf(\} 答案:1). %;2). s/100;3). + *t;4). * 功能:将s所指字符串的正序和反序进行连接,形成一个新串放在t所指的数组中。例如:当s串为\时,则t串的内容应为\。 #include void fun (char *s, char *t) { int i, d; /***********SPACE***********/ d = 【?】; /***********SPACE***********/ for (i = 0; i for (i = 0; i /***********SPACE***********/ t[【?】] = s[d-1-i]; /***********SPACE***********/ t[【?】] ='\\0'; } main() { char s[100], t[100]; clrscr(); printf(\s); fun(s, t); printf(\} 答案:1). strlen(s) 2). i++ 或 i=i+1 或 i+=1 或 ++i 3). d+i 或 i+d 4). 2*d 或 d*2 或 i+d 或 d+i 功能:一个40磅重的板碎成4块,每块正好是一个整数磅,且用这4块当砝码能称出1~40磅的整数重量的物体。编程求这4块的各自重量。 main() { int i,j,k,l,p,t1,t2,t3,t4; for(i=1;i<38;i++) /***********SPACE***********/ for(【?】;j<38-i;j++) /***********SPACE***********/ for(k=j;k<【?】;k++) { l=40-i-j-k; for(p=1;p<40;p++) { for(t1=-1;t1<2;t1++) for(t2=-1;t2<2;t2++) for(t3=-1;t3<2;t3++) for(t4=-1;t4<2;t4++) /***********SPACE***********/ if(【?】==p) goto next; break; /***********SPACE***********/ next:if(p==【?】) { printf(\exit(0); } } } printf(\} 答案:1). j=i 2). 39-i-j 或 39 -i -j 3). i*t1+j*t2+k*t3+l*t4 或 i * t1 + j * t2 + k * t3 + l * t4;4). 39 功能:从键盘上输入一个字符串, 将该字符串升序排列后输出到文件test.txt中,然后从该文件读出字符串并显示出来。 #include FILE *fp; char t,str[100],str1[100]; int n,i,j; if((fp=fopen(\{ printf(\exit(0); } printf(\/***********SPACE***********/ 【?】; /***********SPACE***********/ for(i=0; 【?】 ;i++) for(j=0;j /***********SPACE***********/ if(【?】) { t=str[j]; str[j]=str[j+1]; str[j+1]=t; } /***********SPACE***********/ 【?】; fclose(fp); fp=fopen(\fgets(str1,100,fp); printf(\fclose(fp); } 答案:1). n=strlen(str) 或 for(n=0;str[n]!='\\0';n++) 或 for(n=0;str[n];n++) 或 for(n=0;str[n]!=0;n++) 2). i