for(j=0; j<=1; j++) puts(n[j]); }
【例4.38】下面程序的功能是将字符串a中下标值为偶数的元素由小到大排序,其它元素不变。请填空。
#include
char a[ ]=”labchmfye”,t; int i,j;
for(i=0;i<7;i+=2)
for(j=i+2;j<9; ) if( ) { t=a[i]; a[i]=a[j]; a[j]=t; } puts(a); printf(”\\n”); }
【例4.39】有十个字符串,下面程序的功能是在每个字符串中,找出最大字符按一一对应的顺序存入一维数组a中,即第i个字符串中的最大字符放入a[i]中,输出每个字符串中的最大字符。请填空。
#include
char s[10][20], a[10]; int i,j;
for(i=0; i<10; i++) gets(s[i]);
for(i=0; i<10; i++) {
a[i]=s[i][0] ; for(j=1; s[i][j]!=?\\0?; j++) if(a[i]
for(i=0;i<10;i++)
printf(“%d %c”, i, a[i]); }
【例4.40】若从键盘输入52,则下面程序的运行结果是 。
#include
int a[8]={6,12,18,42,44,52,67,94}; int low=0,high=7,mid,found=0,x; scanf(“%d”,&x);
37
while((low<=high)&&(found==0)) {
mid=(low+high)/2; if(x>a[mid]) low=mid+1; else if(x found=1; break; } } if(found==1) printf(“Search successful! The index is %d:\\n”,mid); else printf(“Can?t search!\\n”); } 【例4.41】下面程序的运行结果是 。 #include char c,s[ ]=”ABCCDA”; int k; for(k=1; (c=s[k])!=?\\0?; k++) { switch(c) { case ?A?: putchar(?%?); continue; case ?B?:++k; break; default: putchar(?*?); case ?C?: putchar(?&?); continue; } putchar(?#?); } } 【例4.42】下面程序的运行结果是 。 #include int i=0; char a[ ]=”abm”,b[ ]=”aqid”,c[10]; while(a[i]!=?\\0? && b[i]!=?\\0?) { if(a[i]>=b[i]) 38 c[i]=a[i]-32; else c[i]=b[i]-32; ++i; } c[i]=?\\0?; puts(c); } 【例4.43】程序填空,以下程序用于统计字符串中最长单词的长度及其在字符串中的位置,其中单词全由字母组成。 #include if((c>=?a? && c<=?z?) || (c>=?A? && c<=?Z?)) ; else ; } void main( ) { static char string[ ]={“I am happy.”}; int len=0,i,length=0,flag=1,p,p1; for(i=0; ; i++) if(alph(string[i])) if(flag) { p1=i; ; /*将取位置标记flag置为0*/ len++; } else ; /*单词长度增1*/ else { flag=1; if(len>length) /*将最大单词长度放入length*/ { length=len; p=p1; } len=0; } printf(“最长的单词:”); for(i=p;i 39 printf(“%c”,string[i]); printf(“\\n”); } 【例4.44】有以下程序,执行后输出结果是 。 #include int a[4][4]={{1,2,-3,-4},{0,-12,-13,14},{-21,23,0,-24},{-31,32,-33,0}}; int i,j,s=0; for(i=0;i<4;i++) { for(j=0;j<4;j++) { if(a[i][j]<0) continue; if(a[i][j]==0) break; s+=a[i][j]; } } printf(“%d\\n”,s); } 【例4.45】下面程序将二维数组a的行和列元素互换后存到另一个二维数组b中,请填空。 #include int a[2][3]={{1,2,3},{4,5,6}}; int b[3][2],i,j; printf(“array a:\\n”); for(i=0; i<=1; i++) { for(j=0; ; j++) { printf(“]”,a[i][j]); ; } printf(“\\n”); } printf(“array b:\\n”); for(i=0; ; i++) { for(j=0; j<=1; j++) printf(“]”,b[i][j]); printf(“\\n”); 40