在main函数中输入字符串,并输出其长度。 #include
int length(char *p); int len;
char str[20];
printf(\scanf(\
/***********SPACE***********/ len=length(【?】);
printf(\}
/***********SPACE***********/ 【?】(p) char *p; { int n; n=0;
while(*p!='\\0') {
/***********SPACE***********/ 【?】;
/***********SPACE***********/
【?】; }
return n; }
答案:1). str;2). length 或 int length 3). n++ 或 ++n 或 n=n+1 或 n+=1 4). p++ 或 ++p 或 p=p+1 或 p+=1 功能:求两个非负整数的最大公约数和最小公倍数。 main() {
int m,n,r,p,gcd,lcm; scanf(\if(m /***********SPACE***********/ while(【?】 ) { /***********SPACE***********/ m=n;n=r; 【?】; } /***********SPACE***********/ gcd=【?】; lcm=p/gcd; /***********SPACE***********/ printf(\【?】); } 答案:1). r != 0 或 r 2). r=m%n 或 r=m-m/n*n;3). n 4). gcd,lcm 或 n,lcm 功能:百马百担问题:有100匹马,驮100担货,大马驮三担,中马驮2担,两匹小马驮一担,求大、中、小马各多少匹? #include int hb,hm,hl,n=0; /***********SPACE***********/ for(hb=0;hb<=100;hb+=【?】) /***********SPACE***********/ for(hm=0;hm<=100-hb;hm+=【?】) { /***********SPACE***********/ hl=100-hb-【?】; /***********SPACE***********/ if(hb/3+hm/2+2*【?】==100) { n++; printf(\3,hm/2,2*hl); } } printf(\getch(); } 答案:1). 3;2). 2;3). hm;4). hl 功能:计算平均成绩并统计90分以上人数。main() { int n,m;float grade,average; /***********SPACE***********/ average=n=m=【?】; while(1) { /***********SPACE***********/ 【?】(\if(grade<0) break; n++; average+=grade; /***********SPACE***********/ if(grade<90)【?】; m++; } if(n) printf(\} 答案:1). 0;2). scanf;3). continue 功能:已定义一个含有30个元素的数组s,函数fun1的功能是按顺序分别赋予各元素从2开始的偶数,函数fun2则按顺序每五个元素求一个平均值, 并将该值存放在数组w中。 float s[30],w[6]; fun1(float s[]) { int k,i; for(k=2,i=0;i<30;i++) { /***********SPACE***********/ 【?】 ; k+=2; } } fun2(float s[],float w[]) { float sum=0.0; int k,i; for(k=0,i=0;i<30;i++) { sum+=s[i]; /***********SPACE***********/ 【?】; { w[k]=sum/5; /***********SPACE***********/ 【?】 ; k++; } } } main() { int i; fun1(s); /***********SPACE***********/ 【?】; for(i=0;i<30;i++) { if(i%5==0) printf(\printf(\} printf(\for(i=0;i<6;i++) printf(\} 答案:1). s[i]=k 或 s[i]=(i+1)*2 2). if( ( i + 1 )%5 == 0 ) 或 if( ( i + 1 )/5*5 ==i+1) 3). sum=0 或 sum=0.0;4). fun2(s,w) 功能:找出三个增序数组中值相同的数。#define FOUND 1 #define NOT_FOUND 0 int search(int x[], int y[], int z[], int X, int Y, int Z, int *XX, int *YY, int *ZZ) { *XX = *YY = *ZZ = 0; while (*XX < X && *YY < Y && *ZZ < Z) if(x[*XX] < y[*YY]) (*XX)++; else if (y[*YY] < z[*ZZ]) (*YY)++; /***********SPACE***********/ else if (【?】) (*ZZ)++; else /***********SPACE***********/ 【?】; return NOT_FOUND; } #include { int x[] = { 1, 3, 5, 7, 9, 11, 13, 15, 17, 19}; int y[] = { 2, 4, 9, 10, 12, 14, 16, 18, 20, 21}; int z[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; int X = sizeof(x)/sizeof(int); int Y = sizeof(y)/sizeof(int); int Z = sizeof(z)/sizeof(int); int XX, YY, ZZ; printf(\Three Arrays\ printf(\================\ printf(\for (XX = 0; XX < X; XX++) printf(\ printf(\for (YY = 0; YY < Y; YY++) printf(\ printf(\for (ZZ = 0; ZZ < Z; ZZ++) printf(\ /***********SPACE***********/ if (search(x, y, z, X, Y, Z, 【?】) > 0) printf(\and z[%d]\ x[XX], XX, YY, ZZ); else printf(\FOUND.\} 答案:1). z[*ZZ] < x[*XX] 或 x[*XX]>z[*ZZ] 2). return FOUND 或 return 1 3). &XX, &YY, &ZZ 功能:利用函数计算连续的数组元素累加和的最大值。如果最大值是负数则返回0; /***********SPACE***********/ int max_sum( 【?】, int n) { int max_ending_here = 0; int max_so_far = 0; int i; for (i = 0; i < n; i++) { if (max_ending_here + x[i] < 0) /***********SPACE***********/ 【?】; else max_ending_here += x[i]; if (max_ending_here > max_so_far) max_so_far = max_ending_here; } /***********SPACE***********/ 【?】; } #include int x[] = { 2, -3, 1, -1, 3, -2, -3, 3}; int n = sizeof(x)/sizeof(int); int i; printf(\Sum Program\ printf(\===========\ printf(\for (i = 0; i < n; i++) printf(\ printf(\n)); } 答案:1). int x[]; 2). max_ending_here = 0;3). return max_so_far 功能:当输入“2,5”的时候输出为“2 5 5” #include 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+ 功能:用二分法求方程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***********/ }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) 功能:不用第三个变量,实现两个数的对调操作。 #include { int a,b; scanf(\printf(\/***********SPACE***********/ a= 【?】 ; /***********SPACE***********/ b= 【?】 ; /***********SPACE***********/ a= 【?】 ; printf(\} 答案:1). a + b;2). a-b 3). a-b; 功能:对数组 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(\) ; } 答案:1). m 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(\Fashion :\\n\ for (i = 0; i < n; i++) printf(\loc = cyclic_min(x, n); printf(\= %d\} 答案:1). left < right 或 right>left 2). right = mid;3). left = mid + 1 功能:以下程序的功能如(图1)。 #include /***********SPACE***********/ float fun(【?】, int n) { /***********SPACE***********/ 【?】; float xa=0, s; for (j=0; j /***********SPACE***********/ 【?】; for (j=0; j /***********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;4). return s 或 return(s) 功能:计算一元二次方程的根。 #include /***********SPACE***********/ #include 【?】 main()