我一直在努力让这个程序正常运行。它确实编译,但不是提示用户输入,而是说明了不正确的内容。
提示:
要求用户提供10个课程标记(从0到100),然后说明有多少人通过了分数。
我的代码:
#include <iostream>
#include <time.h>
#include <stdlib.h>
using namespace std;
int main()
{
int mark;
int passinggrades = 0;
for(int i = 0; i > 10; i++)
{
cout << "Enter Mark:";
cin >> mark;
while(mark >= 50)
{
passinggrades++;
}
}
cout << j << " of your marks were passing grades.";
return 0;
}
答案 0 :(得分:5)
循环条件错误:
for (int i=0; i>10;i++)
反转比较符号
for (int i=0; i<10;i++)
此外,您可能希望此行中有if
:
while(mark >= 50)
更改为
if(mark >= 50)
即使输出线也是错误的。您的代码中没有j
。这样做:
cout << passinggrades << " of your marks were passing grades.";
答案 1 :(得分:2)
for (int i=0; i>10;i++)
你从i = 0
开始,然后在i > 10
执行循环(从不,因为它是0)。
答案 2 :(得分:2)
我想你想要
if(mark >= 50)
而不是无限循环
while(mark >= 50)
此外,i<10
和其他人一样说。
答案 3 :(得分:0)
三个问题: 一: 当你说:
while(mark >= 50)
{
passinggrades++;
}
50+的输入会让你的程序永远陷入困境。而是使用:
if(mark >= 50)
{
passinggrades++;
}
TWO:
在for循环中使用<{>而不是i>10
,使用i<10
三:(感谢评论)
j
未定义,应替换为passinggrades
。