for(【?】 )
printf(\printf(\}
答案:1). int t;2). k=i 3). a[k]>a[j] 或 a[j]
4). i=0;i<10;i++ 或 i=0;10>i;i++ 或 i=0;i<=9;i+=1 或 i=0;9>=i;i++ 或 i=0;i<10;i+=1 或 i=0;10>i;i+=1 或
i=0;i<=9;i++ 或 i=0;9>=i;i+=1 或 i=0;i<10;++i 或 i=0;10>i;++i 或 i=0;9>=i;++i 或 i=0;i<=9;++i
功能:删除一个字符串中的所有数字字符。#include \void delnum(char *s) { int i,j;
/***********SPACE***********/ for(i=0,j=0; 【?】'\\0' ;i++)
/***********SPACE***********/ if(s[i]<'0'【?】 s[i]>'9') {
/***********SPACE***********/ 【?】; j++; }
s[j]='\\0'; }
main () {
char *item;
printf(\gets(item);
/***********SPACE***********/ 【?】;
printf(\}
答案:1). s[i]!= 或 *(s+i)!= 或 *(i+s)!= 2). ||; 3). s[j]=s[i] 或 *(s+j)=*(s+i) 或 s[j]=*(s+i) 或 *(s+j)=s[i] 4). delnum(item)
功能:以下程序的功能如(图1)。 #include
/***********SPACE***********/ double f(【?】) {
/***********SPACE***********/
【?】;
/***********SPACE***********/ if (【?】)
y=2.0*x*x+3.0*x+4.0; else
y=-2.0*x*x+3.0*x-4.0;
/***********SPACE***********/ 【?】; }
main ( ) {
clrscr( );
printf(\}
答案:1). float x 或 double x ;2). double y 3). x<=2 或 2>=x
4). return y 或 return (y)
功能:求100-999之间的水仙花数。说明:水仙花数是指一个三位数的各位数字的立方和是这个数本身。例如:153=1^3+5^3+3^3)。 int fun(int n) { int i,j,k,m; m=n;
/***********SPACE***********/ 【?】;
for(i=1;i<4;i++) {
/***********SPACE***********/ 【?】;
m=(m-j)/10; k=k+j*j*j; }
if(k==n)
/***********SPACE***********/ 【?】; else
return(0);} main() {
int i;
for(i=100;i<1000;i++)
/***********SPACE***********/ if(【?】==1)
printf(\}
答案:1). k=0;2). j=m 或 j=m-m/10*10 或 j=m-10*(m/10) 3). return(1);4). fun(i)
功能:将字母转换成密码,转换规则是将当前字母变成其后的第四个字母,但W变成A、X变成B、Y变成C、Z变成D。小写字母的转换规则同样。 #include
char c;
/***********SPACE***********/ while((c=【?】)!='\\n') {
/***********SPACE***********/
if((c>='a'&&c<='z')||(c>='A'&&c<='Z'))【?】; /***********SPACE***********/ if((c>'Z'【?】c<='Z'+4)||c>'z') c-=26; printf(\} }
答案:1). getchar()
2). c+=4 或 c=c+4 或 c=4+c;3). && 功能:现有两组有序数组(增序),x[i]、y[j]代表数组x、y的任一元素,问满足x[i]>y[i]的元素对有多少个?
int dominance_count(int f[], int g[], int m, int n) {
int index_f, index_g; int count;
count = index_f = index_g = 0;
while (index_f < m && index_g < n) if (f[index_f] <= g[index_g]) index_f++; else {
index_g++;
/***********SPACE***********/ count += 【?】; }
/***********SPACE***********/
【?】; }
#include
int x[] = { 1, 6, 8 };
int nx = sizeof(x)/sizeof(int); int y[] = { 4, 5, 7 };
int ny = sizeof(y)/sizeof(int);
int dominance_count(int [], int [], int, int), i; printf(\Arrays\\n\
printf(\printf(\for (i = 0; i < nx; i++)
printf(\
printf(\ /***********SPACE***********/ 【?】); }
答案:1). m - index_f 或 m - index_f 2). return count
3). dominance_count(x, y, nx, ny) 功能:用指向指针的指针的方法对n个字符串排序并输出。 #include \#define N 100 void sort(); main() {
int i,n;
char **p,*str[N],name[N][20]; printf(\
/***********SPACE***********/ if(n<2【?】n>N) exit(0); for(i=0;i printf(\ /***********SPACE***********/ scanf(\【?】); } printf(\for(i=0;i p=str+i; printf(\} p=str; sort(p,n); printf(\for(i=0;i p=str+i; printf(\} getch(); } /***********SPACE***********/ void sort(char 【?】,int n) { int i,j; char *s; for(i=0;i s=p[i]; /***********SPACE***********/ 【?】; p[j]=s; } } 答案:1). ||;2). str[i] 3). **p;4). p[i]=p[j] 功能:用函数调用方式,实现字符串的复制。void string_copy(char *str_from, char *str_to) { int i=0; /***********SPACE***********/ for(; (*(【?】)=*(str_from+i))!='\\0'; i++) ; } main() { static char array_str1[20]=\char array_str2[20]; /***********SPACE***********/ 【?】(array_str1, array_str2); /***********SPACE***********/ 【?】(\} 答案:1). str_to+i 或 i+str_to; 2). string_copy;3). printf 功能:以每行5个数来输出300以内能被7或17整除的偶数,并求出 其和。 #include int i,n,sum; sum=0; /***********SPACE***********/ 【?】; /***********SPACE***********/ for(i=1; 【?】 ;i++) /***********SPACE***********/ if(【?】) if(i%2==0) { sum=sum+i; n++; printf(\ /***********SPACE***********/ if(【?】) printf(\} printf(\} 答案:1). n=0 2). i<=300 或 i<300 或 300>=i 或 300>i 3). i%7 == 0 || i == 0 或 !(i%7)||!(i) 或 !(i)||!(i%7) 或 !(i%7&&i) 4). n%5 == 0 或 !(n%5) 或 n/5*5==n 功能:将一个数组中的元素按逆序存放。 #define N 7 main () { static int a[N]={12,9,16,5,7,2,1},k,s; printf(\for (k=0;k /***********SPACE***********/ for (k=0;k s=a[k]; /***********SPACE***********/ 【?】 ; /***********SPACE***********/ 【?】 ; } printf(\for (k=0;k /***********SPACE***********/ 【?】 (\} 答案:1). k++ 或 k= k + 1 或 k+=1 或 ++k 2). a[k]=a[N-k-1] 或 a[k]=a[N-1-k] 或 a[k]=a[6-k] 或 *(a+k)=*(a+N-k-1) 或 *(a+k)=*(a+N-1-k] 或 a[k]=a[-1+N-k] 或 a[k]=a[-1-k+N] 或 a[k]=a[-k-1+N] 或 a[k]=a[-k+N-1] 或 *(a+k)=*(a+N-k-1) 或 a[6-k]=s 3). a[N-k-1]=s 或 a[N-1-k]=s 或 a[6-k]=s 或 a[N -k -1]=s 或 *(a +N -k -1)=s 4). printf 功能:百鸡问题:100元买100只鸡,公鸡一只5元钱,母鸡一只3元钱,小鸡一元钱三只,求100元钱能买公鸡、母鸡、小鸡各多少只? #include int cocks,hens,chicks; cocks=0; while(cocks<=19) { /***********SPACE***********/ 【?】=0; /***********SPACE***********/ while(hens<=【?】) { chicks=100.0-cocks-hens; if(5.0*cocks+3.0*hens+chicks/3.0==100.0) printf(\/***********SPACE***********/ 【?】; } /***********SPACE***********/ 【?】; } } 答案:1). Hens;2). 33 3). hens++ 或 ++hens 或 hens=hens+1 4). cocks++ 或 ++cocks 或 cocks=cocks+1 或 cocks= cocks + 1 功能:以下程序的功能如(图1)。 #include /***********SPACE***********/ 【?】; float t,pi; t=1;pi=t;f=1;n=1.0; /***********SPACE***********/ while(【?】 ) { n=n+2; /***********SPACE***********/ 【?】; t=f/n; pi=pi+t; } /***********SPACE***********/ 【?】; printf(\} 答案: 1). float n 或 duoble n 2). fabs(t)>=1e-6 或 fabs(t)>=0.000001 或 1e-6<=fabs(t) 或 0.000001<=fabs(t) 3). f=-f 或 f=-1*f 或 f=f*(-1) 或 f=f*-1 或f=(-1)*f 4). pi= pi * 4 或 pi*=4 功能:打印以下图形。 ***** ***** ***** ***** ***** main ( ) { char a[5][9]={\int i,j; for (i=0;i<5;i++) /***********SPACE***********/ for(j=i; 【?】;j++) a[i][j]='*'; /***********SPACE***********/ for(【?】;i<5;i++) { for(j=0;j<9;j++) /***********SPACE***********/ printf(\【?】 ); /***********SPACE***********/ 【?】; } } 答案:1). j< i + 5 或 i + 5 >j 或 j<= i + 4 或 i + 4 >j 2). i=0;3). a[i][j] 4). printf(\ 功能:计算某日是当年的第几天。 #include int year; int month; int day; }data; /* 定义一个结构并声明对象为data */ void main() { int days; printf(\请输入日期(年,月,日):\ scanf(\&data.day); switch(data.month) { case 1:days = data.day; break; /***********SPACE***********/ case 2:days = data.day+【?】; break; case 3:days = data.day+59; break; case 4:days = data.day+90; break; /***********SPACE***********/ case 5:days = data.day+【?】; break; case 6:days = data.day+151; break; case 7:days = data.day+181; break; case 8:days = data.day+212; break; case 9:days = data.day+243; break; case 10:days = data.day+273; break; case 11:days = data.day+304; break; case 12:days = data.day+334; break; } /***********SPACE***********/ if(data.year%4==0&&data.year0!=0【?】data.year@0==0) if(data.month>=3) /***********SPACE***********/ days =【?】; printf(\月%d日是%d年的第%d天.\\n\data.month, data.day, data.year, days); } 答案:1). 31;2). 120;3). || 4). days + 1 或 1+days 或 ++days 功能:输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。 main() {