6.輸入一個字符串,將其中的所有大寫字母改為小寫字母,而所有小寫字母全部改為大寫字母,然后輸出。
「解」程序先輸入字符率,然后順序考察輸入字符串中的字符,當發(fā)現(xiàn)是大寫字母時,將它改寫成對應的小寫字母,而當它是小寫字母時,就將它改寫成對應的大寫字母。若變量ch中的字符是大寫字母,則與它對應的小寫字母的表達式可以寫成ch- ‘A’+‘a(chǎn)’ ;類似地,若變量ch中的字符是小寫字母,則與它對應的大寫字母的表達式可以寫成ch-‘a(chǎn)’+‘A’ .完整程序如下:
# include
# define N 200
main()
{ char s[N] ;
int i;
printf(“ Enter string! \n”);
scanf (“%s” ,s);
for(i=0; s?。健甛0’;i++)
if(s =‘A’ s =‘Z’ )
s=s -‘x’+‘a(chǎn)’ ;
else if(s =‘a(chǎn)’ s =‘z’)
s= s-‘a(chǎn)’ +‘A’ ;
printf(“s=%s\n”,s);
}
7.設(shè)某班50名學生的三科成績表如下:
課程一 課程二 課程三
…… …… ……
試編一個程序,輸入這50個學生的三科成績,計算并輸出每科成績的平均分。
「解」程序定義一個50行3列的二維數(shù)組,用于存儲全班學生的成績。程序順序輸入各個學生的三科成績,然后按列的順序,累計各科總分,并計算平均分。完整程序如下:
# include
# define N 50
# define M 3
main()
{int score[N][M], i,j,t;
double a[M];
printf(“Enter scores!\n”);
for(i=0;i N; i++)
for(j=0;j M;J++) {
scanf(“%d”, t);score[j]=t;
}
for(j=0;j M;J++)A[J]=0.0;
for(j=0;j M;j++){
for(i=0;i N; i++)
a[j]+= score[j];
a[j]/= N;
}
for(j=0;j M;J++)
printf(“課程%d的平均分是%.2f\n”, j+1,a[j]);
}