我有一个整数值,例如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
答案 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;。