6.输入一个字符串,将其中的所有大写字母改为小写字母,而所有小写字母全部改为大写字母,然后输出。
「解」程序先输入字符率,然后顺序考察输入字符串中的字符,当发现是大写字母时,将它改写成对应的小写字母,而当它是小写字母时,就将它改写成对应的大写字母。若变量ch中的字符是大写字母,则与它对应的小写字母的表达式可以写成ch- ‘A’+‘a’ ;类似地,若变量ch中的字符是小写字母,则与它对应的大写字母的表达式可以写成ch-‘a’+‘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’ ;
else if(s =‘a’ s =‘z’)
s= s-‘a’ +‘A’ ;
printf(“s=%s\n”,s);
}
7.设某班50名学生的三科成绩表如下:
课程一 课程二 课程三
…… …… ……
试编一个程序,输入这50个学生的三科成绩,计算并输出每科成绩的平均分。
「解」程序定义一个50行3列的二维数组,用于存储全班学生的成绩。程序顺序输入各个学生的三科成绩,然后按列的顺序,累计各科总分,并计算平均分。完整程序如下:
# 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]);
}