我是 C 编程的新手,我们仍在开始循环。对于我们今天的练习,我们的任务是创建一个 do-while 程序来计算有多少通过和失败的成绩,但当输入负数时循环中断。此外,超过 100 的数字将被跳过。这是我的程序:
#include<stdio.h>
#include<conio.h>
int main()
{
int grade, pass, fail;
pass = 0;
fail = 0;
do {
printf("Enter grade:\n");
scanf("%d", &grade);
printf("Enter -1 to end loop");
}
while(grade == -1){
if(grade < 100){
if(grade >= 50){
pass = pass + 1;
}
else if {
fail = fail + 1;
}
}
break;
}
printf("Pass: %d", pass);
printf("Fail: %d", fail);
getch ();
return 0;
}
有人可以告诉我如何改进或我哪里做错了吗?
最佳答案
您需要将循环的所有代码放在 do
和 while
语句之间。
do {
printf("Enter -1 to end loop");
printf("Enter grade:\n");
scanf("%d", &grade);
if(grade <= 100 && grade >= 0) {
if(grade >= 50){
pass = pass + 1;
}
else {
fail = fail + 1;
}
}
} while(grade >= 0);
do-while 循环的一般结构是:
do {
// all of the code in the loop goes here
} while (condition);
// <-- everything from here onwards is outside the loop
关于C程序计算通过或失败的分数并在输入负数时退出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18007625/