为什么我得到这个错误的结果?

时间:2014-05-22 21:55:53

标签: c++

我试图制作一个代码,每当a + b达到20时,就能将int'd'增加一。

如果还有任何小于20的数字那么这将是int'c'。

但不是在我的下一个程序

中得到正确的结果
49-0

我得到了错误的答案

47-40

我该怎么办?

#include <iostream>
using namespace std;
int main(){
    int a=50;
    int b=18;
    int c=a+b;
    int d=0;
    int i;
for(i=0;i<c;i++)
   {
    while(c>20)
   {
     d+=1;
     c=c-20;
     break;
   }}
    cout<<d<<"-"<<c;
return 0;
}

1 个答案:

答案 0 :(得分:2)

问题出在你的while循环中:

while(c > 20)
{
  d+=1;
  c=c-20;
  break;
}

由于你的break语句,循环只会执行一次。