题目:
编写一个程序,用于计算并输出学生6门科目的平均成绩,保留两位小数。
实现思路:
- 定义两个变量
s
和aver
,分别用于存储每次输入的单科成绩和累加的总成绩。- 初始化一个计数器
i
为1,用于跟踪当前输入的科目数。- 使用
while
循环,循环条件是i
小于等于6,即确保输入6门科目的成绩。- 在循环内部,首先打印提示信息,要求用户输入当前科目的成绩。
- 使用
scanf
函数读取用户输入的成绩,并存储到变量s
中。- 将
s
累加到aver
变量中,用于计算总成绩。- 计数器
i
自增,以便在下一次循环时输入下一门科目的成绩。- 循环结束后,计算平均成绩(总成绩除以科目数),并使用
printf
函数输出结果,保留两位小数。
代码:
#include <stdio.h>
int main() {
float s, aver = 0; // 定义成绩变量s和平均成绩变量aver,并初始化aver为0
int i = 1; // 定义计数器i,并初始化为1
while (i <= 6) { // 当i小于等于6时,执行循环体
printf("输入学生第%d科的成绩:", i); // 打印提示信息,要求用户输入成绩
scanf("%f", &s); // 使用scanf函数读取用户输入的成绩到变量s中
aver += s; // 将s累加到aver中
i++; // 计数器i自增
}
printf("学生平均成绩为:%.2f", aver / 6); // 计算平均成绩并输出,保留两位小数
return 0;
}
解读:
#include <stdio.h>
:包含了标准输入输出库的头文件,使得程序可以使用printf
和scanf
等函数。
int main()
:程序的主函数入口点。
float s, aver = 0;
:定义了两个浮点型变量s
和aver
,其中s
用于存储每次输入的成绩,aver
用于存储成绩的总和,并初始化为0。
int i = 1;
:定义了一个整型变量i
,用于计数输入的科目数,并初始化为1。
while (i <= 6)
:使用while
循环,循环条件是i
小于等于6,确保循环会执行6次,即输入6门科目的成绩。
printf("输入学生第%d科的成绩:", i);
:在循环内部,首先打印提示信息,告知用户需要输入第i
门科目的成绩。
scanf("%f", &s);
:使用scanf
函数读取用户从标准输入(通常是键盘)输入的成绩,并存储在变量s
中。
aver += s;
:将变量s
中的成绩累加到aver
中,用于计算总成绩。
i++;
:每输入完一门科目的成绩后,计数器i
自增1,以便在下一次循环中提示用户输入下一门科目的成绩。
printf("学生平均成绩为:%.2f", aver / 6);
:当6门科目的成绩都输入完毕后,计算平均成绩(总成绩除以科目数6),并使用printf
函数输出结果,%.2f
指定了输出的小数点后保留两位。
return 0;
:程序正常结束,返回0。