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 に答える