1
#include<iostream>
using namespace std;
int main()
{
    int x;
    int a;
    int b;
    int c;
    int d;
    int e;

    cout << "Please enter a 5 digit integer.";
    cin >> x;

    a= x%10 ;
    b= x%100 %10;
    c= x%1000 %10;
    d= x%10000 %10;
    e= x%100000 %10;

    cout << a
         << b
         << c
         << d
         << e;


    return 0;
}

这是我到目前为止所拥有的,但我似乎无法用一个选项卡一次计算<<每个数字。我需要在每个数字之间添加一个选项卡。

4

2 回答 2

3

我看不出有什么问题。如果您想要每个数字之间的制表符,只需将其放在那里:

cout << a << '\t'
     << b << '\t'
     << c << '\t'
     << d << '\t'
     << e << '\n';

但是,这需要基于循环的解决方案,例如:

for (int div = 10000; div > 0; div /= 10)
    cout << (x / div) % 10 << '\t';

或者,如果您希望最后一个是换行符而不是制表符:

for (int div = 10000; div > 1; div /= 10)
    cout << (x / div) % 10 << '\t';
cout << x % 10 << '\n';

顺便说一句,你的表达式计算a/b/c/d/e是错误的,它们都会给你最后一个数字。如果您仍然不想使用循环方法,至少要解决这个问题:

a= x / 10000;
b= x /  1000 % 10;
c= x /   100 % 10;
d= x /    10 % 10;
e= x         % 10;
于 2013-09-13T04:44:54.197 回答
0

利用

cout<<a<<'\t'<<b<<'\t'<<c<<'\t'<<d'\t'<<e;

编辑

对于您的问题,将公式更改为:

a= x/10000   %10;
b= x/1000    %10;
c= x/100     %10;
d= x/10      %10;
e= x         %10;
于 2013-09-13T04:45:50.613 回答