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

C++ 如何在c+;中使用int值创建循环+;(简单),c++,C++,我有一个整数值,比如5794。我想在不使用数组的情况下对每个数字应用几个计算 示例 int encrypt; cout << "Enter 4 digit numbers to encryption :> "; cin >> encrypt; for(int i=1;i<=encrypt;i++){ cout << encrypt << endl; } 我不希望它像这样显示: 5794 提示:使用模数(%)和除法(/)运

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

示例

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

cin >> encrypt;

for(int i=1;i<=encrypt;i++){
   cout << encrypt  << endl;
}
我不希望它像这样显示:

5794

提示:使用
模数
(%)和
除法
(/)运算符

如果给定数字有四个
数字
,则将其除以1000100,10,1:

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

std::cout好吧,如果你有数字5794,你需要用数学方法提取数字


提示:如果将数字除以1000会发生什么情况?

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

这是您想要的吗?:

// 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
    }
}
//从stdin,std::cin>>v获取号码;
访客编号(int v)
{
int v1=v;
尺寸长度=0;
while(v1){
v1/=10;
++len;
}
对于(int i=len;i>0;--i){

std::cout因为您很难将其他回复者的建议写入代码:

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;
}
int除数=1000;

std::cout Side note:@Maxpm:谢谢,但请给我示例代码,我很抱歉beginner@LionKing
std::cout@Maxpm:我不是这个意思,我想要打印像5487这样的数字,每个数字单独打印,而不是所有数字加上一些。这是我最简单的事情want@LionKing我知道。你需要从任意数字中提取个位数。要做到这一点帽子,使用
/
%
@Maxpm:谢谢你继续帮助我,好的,但是我怎样才能把5974这样的数字打印出来,请告诉我一个例子。谢谢,但我不是这个意思,我想把5487这样的数字单独打印出来,而不是把所有的数字都打印在一起。这是我想要的最简单的事情谢谢,b但我不是这个意思,我想单独打印5487这样的数字,而不是所有数字加上一些。这是我想要的最简单的事情谢谢你的帮助,你的代码是最接近正确的,但有一个问题,当以这种方式打印数字时,例如,如果数字是(4567),以这种方式打印,4564567,我想要这样的4567。
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;
}