功能:当输入“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
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 void main(void) { 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 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;4). return s 或 return(s) 功能:计算一元二次方程的根。 #include /***********SPACE***********/ #include 【?】 main() { float a,b,c,disc,x1,x2,realpart,imagpart; scanf(\printf(\ /***********SPACE***********/ if(【?】<=1e-6) printf(\else disc=b*b-4*a*c; if(fabs(disc)<=1e-6) printf(\roots:%-8.4f\\n\ /***********SPACE***********/ else if(【?】) { x1=(-b+sqrt(disc))/(2*a); x2=(-b-sqrt(disc))/(2*a); printf(\and %.4f\\n\} else { realpart=-b/(2*a); imagpart=sqrt(-disc)/(2*a); printf(\ printf(\printf(\} } 答案:1). 3). fabs(disc) > 1e-6 或 1e-6 功能:有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数 main() { int number[20],n,m,i; printf(\ scanf(\printf(\scanf(\for(i=0;i scanf(\scanf(\ /***********SPACE***********/ 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 4). p-1 或 p -1 功能:分别求出一批非零整数中的偶数、奇数的平均值,用零作为终止标记。 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++; } /***********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 if(x%2!=0) 或 if(x%2) 3). scanf(\ 4). av2=s2/j 功能:利用指向结构的指针编写求某年、某月、某日是第几天的程序,其中年、月、日和年天数用结构表示。 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 /***********SPACE***********/ printf(\【?】); } 答案:1). struct ;2). x;3). f;4). x.n 功能:把字符串中所有的字母改写成该字母的下一个字母,最后一个字母z改写成字母a。大字母仍为大写字母,小写字母仍为小写字母,其它的字符不变。例如:原有的字符串为:“Mn.123xyZ”,调用该函数后,串中的内容为:“No.123yzA”。 #include 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 功能:统计一个字符串中的字母、数字、空格和其它字符的个数。 #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 功能:从键盘输入若干行字符,输入后把他们存储到一磁盘文件中。在从该文件中读出这些数据,将其中的小写字母转换成大写字母后在屏幕上输出。 #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). \功能:用递归法将一个整数n转换成字符串,例如输入483,应输出对应的字符串\。n的位数不确定,可以是任意位数的整数。 #include /***********SPACE***********/ if((【?】)!=0) convert(i);