C程序计算通过或失败的分数并在输入负数时退出

标签 c loops do-while

我是 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;
}

有人可以告诉我如何改进或我哪里做错了吗?

最佳答案

您需要将循环的所有代码放在 dowhile 语句之间。

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/

相关文章:

c - 'YYSTYPE' 没有名为 '--' 的 union 类型成员

c - scanf 输入验证也 1 scanf 获取 2 个输入并将其发送到下一个 var 而无需

java - 执行 while 循环以显示菜单

loops - 如何创建枚举并对其进行迭代

c - 在 C 中的 do-while 循环后打印 "Error"语句

java - while 循环似乎在完成循环之前重复步骤?

c - 为什么输入终止参数后while循环一直在运行?

c - 返回指针的函数中的段错误

c - 内核 read_lock 后跟 write_lock 提供软锁定

Javascript 循环添加相同的值