C++ 在这里循环时如何运行?

C++ 在这里循环时如何运行?,c++,C++,好的,这是我的代码,除了while循环外,其他一切都正常工作。 这个程序的目的是输入一个数字“40235”,然后除以10,取其余数(5),从主数字中减去,然后除以10,得到它的完美商,即4023。我确实成功地运行了代码,但while循环没有迭代。(是的,我知道我必须计算余数之和,但首先我需要弄清楚如何迭代while循环)。 该循环必须迭代,直到40235变为零 #include <iostream> using namespace std; int main() { cou

好的,这是我的代码,除了while循环外,其他一切都正常工作。 这个程序的目的是输入一个数字“40235”,然后除以10,取其余数(5),从主数字中减去,然后除以10,得到它的完美商,即4023。我确实成功地运行了代码,但while循环没有迭代。(是的,我知道我必须计算余数之和,但首先我需要弄清楚如何迭代while循环)。 该循环必须迭代,直到40235变为零

#include <iostream>
using namespace std;

int main()
{
    cout<<"Program to yield exact quotient and sum of remainders: "<<endl;
    int num, remainder_1, a, subtract;
    cout<<"Enter a number: "<<endl
    cin>>num;


    while(num!=0)
    {
        remainder_1 =num%10;
        num=num-remainder_1;
        a =num/10;
        cout<<a<<endl;
    }
    return 0;
}
#包括
使用名称空间std;
int main()
{
试试看


您的代码中存在多个问题:

  • 循环条件相反,它应该是
    ,而(num!=0)
  • 您不需要从num中减去提醒,整数除法将解决这个问题
  • 您没有将
    num/10
    分配回
    num
    ,因此如果您的条件正确,您的循环将永远不会结束
  • 应该是这样的:

    while( num!=0 )
    {
        remainder_1 = num%10;
        // do something with reminder
        num /= 10; // short form of num = num / 10
    }
    

    好吧,算了。非常感谢大家

    
    #include <iostream>
    using namespace std;
    
    int main()
    {
        cout<<"Program to yield exact quotient and sum of remainders: "<<endl;
        int num, remainder_1, a, subtract;
        cout<<"Enter a number: "<<endl;
        cin>>num;
        int sum;
    
        while(num!=0)
        {
            remainder_1 =num%10;
            num/=10;
            cout<<num<<endl;
            sum+=remainder_1;
    
        }
        cout<<"The Sum is: \t"<<sum<<endl;
        return 0;
    }
    
    
    #包括
    使用名称空间std;
    int main()
    {
    
    当一个程序做了我不期望的事情时,我的第一个想法是输出所有的值,看看它们是否都是我期望的。例如,在你的例子中,我可能会做
    cout你期望
    num==0
    是“真”还是“假”当您为
    num
    输入40235时,我想您想要的是
    num=num/10
    ,而不是
    a=num/10
    
    #include <iostream>
    using namespace std;
    
    int main()
    {
        cout<<"Program to yield exact quotient and sum of remainders: "<<endl;
        int num, remainder_1, a, subtract;
        cout<<"Enter a number: "<<endl;
        cin>>num;
        int sum;
    
        while(num!=0)
        {
            remainder_1 =num%10;
            num/=10;
            cout<<num<<endl;
            sum+=remainder_1;
    
        }
        cout<<"The Sum is: \t"<<sum<<endl;
        return 0;
    }