7.輸入兩個字符串,將它們連接后輸出。
「解」程序設有兩個存儲字符串的數(shù)組,先輸入兩個字符串,然后找到第一個字符串的末尾,接著將第二個字符串復制在第一個字符串的后面,然后輸出。程序如下:
# include
# define N 120
main()
{ char s1[N+N],s2[N],*p,*q;
printf(“輸入2個字符串\n”);
scanf(“%s%s”,s1,s2);
for(p=sl;* p?。健甛0’; p++);
for(q=s2;*p++=*q++;);
printf(“兩字符串連接后:%s\n” ,sl);
}
8.比較兩個字符串是否相等。
「解」程序設兩個存儲字符串的數(shù)組,先輸入兩個字符串,兩字符率比較時,直接用兩字符串的對應字符比較來實現(xiàn)。完整程序如下:
# include
# define N 120
main()
{ char sl[N] ,s2[N],*p,*q;
char *result[]={“小于”,“相等” ,“大于”};
int comp;
printf(“輸入 2個字符串\n”);
scanf(“%s%s”,s1,s2);
for(p=sl,q=s2;*q?。健甛0’&& *p==*q; p++, q++);
comp=*P <* q? 0:*P==*q? l:2;
printf(“字符串1與字符串2比較:%s\n”,result[comp]);
}
9.輸入10個整數(shù),將其中數(shù)與最后一個數(shù)交換,最小數(shù)與第一個數(shù)交換。
「解」程序設一個一維數(shù)組存儲輸入的10個整數(shù)。然后遍歷數(shù)組,找出元素和最小元素的指針。接著按要求先將元素與最后一個元素交換,然后將最小元素與第一個元素交換。最后,輸出數(shù)組中的全部整數(shù)。程序應考慮到這樣一種特殊情況,即最后一個元素正是最小元素,它在與元素交換后,位置已移到原先存儲元素的位置。程序應保證元素移到末尾,最小元素移到最前端。
程序如下:
# include
# define N 10
main()
{ int a[N],*maxp,*minp,*q,t;
printf(“入%d個整數(shù)\n,N);
for(q=a;q
scanf(“%d”,&t);*q=t;
}
maxp= minp= a;
for(q=a;q
if(*maxp<*p) maxp=q;
if(*minp>*q) minp=q;
}
t=*maxp; *maxp=a[N-1]; a[N-l]=t;
if(minp==&a[N-l]) minp=maxp;
t=* minp;*minp= a[0]; a[0]= t;
for(q=a;q
printf(“%d”,*q);
printf(“\n”);
}
「解」程序設有兩個存儲字符串的數(shù)組,先輸入兩個字符串,然后找到第一個字符串的末尾,接著將第二個字符串復制在第一個字符串的后面,然后輸出。程序如下:
# include
# define N 120
main()
{ char s1[N+N],s2[N],*p,*q;
printf(“輸入2個字符串\n”);
scanf(“%s%s”,s1,s2);
for(p=sl;* p?。健甛0’; p++);
for(q=s2;*p++=*q++;);
printf(“兩字符串連接后:%s\n” ,sl);
}
8.比較兩個字符串是否相等。
「解」程序設兩個存儲字符串的數(shù)組,先輸入兩個字符串,兩字符率比較時,直接用兩字符串的對應字符比較來實現(xiàn)。完整程序如下:
# include
# define N 120
main()
{ char sl[N] ,s2[N],*p,*q;
char *result[]={“小于”,“相等” ,“大于”};
int comp;
printf(“輸入 2個字符串\n”);
scanf(“%s%s”,s1,s2);
for(p=sl,q=s2;*q?。健甛0’&& *p==*q; p++, q++);
comp=*P <* q? 0:*P==*q? l:2;
printf(“字符串1與字符串2比較:%s\n”,result[comp]);
}
9.輸入10個整數(shù),將其中數(shù)與最后一個數(shù)交換,最小數(shù)與第一個數(shù)交換。
「解」程序設一個一維數(shù)組存儲輸入的10個整數(shù)。然后遍歷數(shù)組,找出元素和最小元素的指針。接著按要求先將元素與最后一個元素交換,然后將最小元素與第一個元素交換。最后,輸出數(shù)組中的全部整數(shù)。程序應考慮到這樣一種特殊情況,即最后一個元素正是最小元素,它在與元素交換后,位置已移到原先存儲元素的位置。程序應保證元素移到末尾,最小元素移到最前端。
程序如下:
# include
# define N 10
main()
{ int a[N],*maxp,*minp,*q,t;
printf(“入%d個整數(shù)\n,N);
for(q=a;q
scanf(“%d”,&t);*q=t;
}
maxp= minp= a;
for(q=a;q
if(*maxp<*p) maxp=q;
if(*minp>*q) minp=q;
}
t=*maxp; *maxp=a[N-1]; a[N-l]=t;
if(minp==&a[N-l]) minp=maxp;
t=* minp;*minp= a[0]; a[0]= t;
for(q=a;q
printf(“%d”,*q);
printf(“\n”);
}