2.編程序,輸入10個整數(shù)存入一維數(shù)組,再按逆序重新存放后再輸出。
「解」將數(shù)組的元素逆序重新存放,就是將數(shù)組的首尾對應元素兩兩交換。簡單地可用兩個游標變量i和j,i是前端元素的下標,j是后端元素的下標,交換以這兩個變量值為下標的數(shù)組元素。開始時,i的值為0,j的值為末元素的下標。每次交換后,i增1,j減1.繼續(xù)交換的
條件是i J.程序如下:
# include
main()
{ int a[10], i,j,t,n=10;
printf(“Enter %d numbers! \n”, n);
for(i=0;i N;I++)
scanf(“%d”, a );
for(i=0,j=n-1;i J;I++,J——) {
t= a; a=a[j] ;a[j] =t;
}
for(i=0; i N; I++)
printf(“%d\t”, a);
printf(“\n”);
}
3.編程序,輸入兩個字符串( 40個字符) ,連接后輸出(不準用系統(tǒng)函數(shù)) .
「解」將字符串s2連接到字符串s1的計算過程可分兩個步驟完成。首先找到字符串s1的末尾,然后參照字符串s2,將字符串s2的全部有效字符逐一復制到字符串s1,最后在字符串s1的末尾接上字符率結束標記符。完整程序如下:
# include
# define N 40
main()
{ char s1[N] ,s2[N];
int i,j;
printf(“Enter stringl!\n”);
scanf(“%s”,s1);
printf(“Enter string2! \n”);
scanf(“%s”, s2);
for(i=0; sl?。健甛0’ ; i++) ;
for(j=0;s2[j]?。健甛0’ ;i++,j++)
so=s[j] ;
s1=‘\0’
printf(“sl=%s\n” ,sl);
}