主要是我写的代码太乱了,感觉我的基础并不太好,有思路但并不成功,还麻烦写一下,有注释更好了
#include <stdio.h> // 引入标准输入输出头文件
int main() {
float grade; // 定义变量用于存储学生的期末成绩
int passCount = 0, failCount = 0, i = 1; // 定义计数器以统计及格和不及格的人数,同时初始化为0
printf("请输入所有学生的期末成绩:"); // 提示输入
while (scanf("%f", &grade) == 1 && grade != -1) { // 当输入的成绩是有效数字且不等于-1时继续循环
printf("NO.%d 期末成绩:%.1f 考核成绩:", i, grade); // 输出学生的期末成绩和编号,并用 %.1f 指定小数点后一位精度
// 根据成绩的不同区间输出对应的考核等级
if (grade >= 90) {
printf("A\n");
} else if (grade >= 80) {
printf("B\n");
} else if (grade >= 60) {
printf("C\n");
} else {
printf("D\n");
}
// 统计及格和不及格的人数
if (grade >= 60) {
passCount++;
} else {
failCount++;
}
i++; // 编号加1
}
// 输出及格和不及格的人数
printf("及格人数:%d,不及格人数:%d\n", passCount, failCount);
return 0;
}
不懂的地方提出来哈
#include <stdio.h> // 引入标准输入输出头文件
int main() { // 程序入口
int pass = 0; // 定义及格人数变量并初始化为0
int fail = 0; // 定义不及格人数变量并初始化为0
float score; // 定义学生期末成绩变量
int i=1;
printf("请输入所有学生的期末成绩:"); // 输出提示信息
while (scanf("%f", &score) == 1 && score >= 0) { // 循环读取用户输入的成绩,直到输入非法成绩或负数
if (score >= 90) { // 如果成绩大于等于90分
printf("NO.%d 期末成绩:%.1f,考核等级:A\n", i++,score); // 输出考核等级为A
pass++; // 及格人数加1
} else if (score >= 80) { // 如果成绩大于等于80分
printf("NO.%d 期末成绩:%.1f,考核等级:B\n",i++, score); // 输出考核等级为B
pass++; // 及格人数加1
} else if (score >= 70) { // 如果成绩大于等于70分
printf("NO.%d 期末成绩:%.1f,考核等级:C\n", i++,score); // 输出考核等级为C
pass++; // 及格人数加1
} else if (score >= 60) { // 如果成绩大于等于60分
printf("NO.%d 期末成绩:%.1f,考核等级:D\n",i++, score); // 输出考核等级为D
pass++; // 及格人数加1
} else { // 否则
printf("NO.%d 期末成绩:%.1f,考核等级:F\n", i++,score); // 输出考核等级为F
fail++; // 不及格人数加1
}
}
printf("及格人数:%d。不及格人数:%d\n", pass, fail); // 输出统计结果
return 0; // 程序结束
}
#include <stdio.h>
int main() {
float score; // 学生成绩
int passed = 0, failed = 0; // 及格和不及格人数计数器
printf("输入所有学生的期末成绩(输入一个非法成绩结束输入):\n");
while (scanf("%f", &score) == 1) { // 当输入一个浮点数时继续
if (score < 0 || score > 100) { // 如果成绩非法则跳出循环
break;
}
// 计算考核等级
char grade; // 考核等级
if (score >= 90) { // 如果成绩大于等于90,考核等级为A
grade = 'A';
} else if (score >= 80) { // 如果成绩大于等于80,考核等级为B
grade = 'B';
} else if (score >= 70) { // 如果成绩大于等于70,考核等级为C
grade = 'C';
} else if (score >= 60) { // 如果成绩大于等于60,考核等级为D
grade = 'D';
} else { // 如果成绩小于60,考核等级为E
grade = 'E';
}
// 输出成绩和考核等级
printf("No.%d 期末成绩:%.1f 考核成绩:%c\n", passed + failed + 1, score, grade);
// 更新及格和不及格人数计数器
if (score >= 60) { // 如果成绩大于等于60,及格人数+1
passed++;
} else { // 否则,不及格人数+1
failed++;
}
}
// 输出统计结果
printf("及格人数:%d,不及格人数:%d\n", passed, failed);
return 0;
}
有助于前期思路的打开,更快的去接受并适应代码的世界
还可以帮助大家更好的看懂别人写的代码,看到不一样的代码时可以去理解它而不是排斥