#include"stdio.h"
void main()
{
int x,y,z,sum,ave,corr,need;
printf("请输入学生的三门功课的考试成绩:\n");
scanf("%d%d%d",&x,&y,&z);
sum=x+y+z;
ave=sum/3; /*计算平均成绩*/
corr=2*(sum%3)-3;
if(corr>=0)ave++;
printf("该学生三门功课成绩的平均值是%5d\n",ave);
printf("该学生的等级是属于");
if(ave>=90) printf("A\n");
if(ave>=80&&ave<90) printf("B\n");
if(ave>=70&&ave<80) printf("C\n");
if(ave>=60&&ave<70) printf("D\n");
if(ave<60)
{
printf("F\n");need=60-ave;
printf("这个学生每门还差%2d分才能达到及格线\n",need);
}
}
如果将例4-17中的if语句改为if-else if结构,其条件表达式可以不必加入"&&"及其后边的关系表达式。源程序代码如下:
#include"stdio.h"
void main()
{
int x,y,z,sum,ave,corr,need;
printf("请输入学生的三门功课的考试成绩:\n");
scanf("%d%d%d",&x,&y,&z);
sum=x+y+z;
ave=sum/3;
corr=2*(sum%3)-3;
if(corr>=0) ave++;
printf("该学生三门功课考试成绩的平均值是%5d\n",ave);
printf("该学生的等级是属于");
if(ave>=90) printf("A\n");
else if(ave>=80) printf("B\n");
else if(ave>=70) printf("C\n");
else if(ave>=60) printf("D\n");
else
{
printf("F\n");need=60-ave;
printf("每门需要%2d分才能达到及格线!!\n",need);
}
}