如何在c ++中使用int值创建循环(简单)

时间:2011-11-28 02:28:21

标签: c++

我有一个整数值,例如5794.我想在不使用数组的情况下对每个数字应用几个计算

示例

int encrypt;
cout << "Enter 4 digit numbers to encryption :> ";

cin >> encrypt;

for(int i=1;i<=encrypt;i++){
   cout << encrypt  << endl;
}

此代码打印整数,但我想打印每个数字而不使用数组。如果数字是5794,我想显示:

5
7
9
4

我不希望它显示如下:

5794

5 个答案:

答案 0 :(得分:4)

提示:使用modulus(%)和division(/)运算符。

如果给定的数字有四个digit,则除以1000,100,10,1:

std::cout << "\n" << encrypt/1000%10;
std::cout << "\n" << encrypt/100%10;

答案 1 :(得分:1)

好吧,如果你有数字5794,你需要在数学上提取数字。

提示:如果将数字除以1000会怎样?

答案 2 :(得分:0)

扫描号码,然后您可以使用整数除法和提醒(%)运算符提取每个数字。

答案 3 :(得分:0)

这是你想要的吗?:

// get the number from stdin, std::cin >> v; 
visitNumber(int v)
{
    int v1 = v;
    size_t len = 0;

    while(v1){
        v1 /= 10;    
        ++ len;
    }

    for(int i=len; i>0; --i){
        std::cout << (v/pow(10,i)) << std:endl; // or some other op you favorate
    }
}

答案 4 :(得分:-1)

由于您在将其他回复者的建议放入代码时遇到了麻烦:

int divisor = 1000;
std::cout << "enCRAPtion digits:\n";
for (unsigned int j = 0; j < 3; ++j)
{
    cout << (encrypt / divisor) << "\n\n";
    encrypt = encrypt % divisor;
    divisor = divisor / 10;
}

顺便说一下,这个词是&#34;加密&#34;不是&#34; encraption&#34;。