循环时的C ++数字和程序

时间:2017-02-25 18:47:04

标签: c++

我最近在C ++中创建了一个程序,它计算输入数字中的数字总和(下面的代码)。该程序以这种方式工作。要求用户输入自然数x。然后程序进入while循环,这意味着继续进行直到x达到0. y是一个简单的等式,它确定一个数字的最后一位数(即x=123y=3)。 D_sumx中的数字之和(即x=123d_sum=3)。 x=(x-y)/10用于帮助计算下一个数字(即x=(123-3)/10=120/10=12)。该程序正常工作,直到您输入一个超过10位数的数字(下面的屏幕)。

#include <iostream>
#include <cstdlib>
using namespace std;

int main()
{
    int x,y;
    int d_sum = 0;
    cout << "x= ";
    cin >> x;

    while(x > 0)
    {
        y=x % 10;
        d_sum++;
        x = (x - y) / 10;
    }
    cout << d_sum << endl;
    system("pause");

    return 0;
}

屏幕:

screen image

1 个答案:

答案 0 :(得分:1)

看看http://en.cppreference.com/w/cpp/language/types ,在您的平台上看起来int是32位。例如如果int是32位,则它可以存储的最大数量为2 ^ 31 = 2147483648。