2011-11-28 14 views
-1

我有一個整數值,例如5794欲施加幾個上的每個數計算的,而無需使用陣列如何可以使用在C int值++(簡單)

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 
+1

這功課嗎? – Marlon

+0

注意:[endl vs'\ n'](http://stackoverflow.com/questions/213907/c-stdendl-vs-n) –

+0

@Marlon:不要做作業 –

回答

-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; 
} 

順便說一句,這個詞是「加密」而不是「encraption」。

+0

感謝您的幫助,您的代碼是最接近正確的,但存在一個問題,當以這種方式打印數字時,例如數字是(4567),以這種方式打印4 45 456 4567,我想要這樣4 5 6 7。 –

+0

@LionKing:查看我的新編輯。 –

4

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

如果給定數量有四個digit然後1000,100,10,1分着喝

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

請告訴我例 –

+0

謝謝,但我確實不是這個意思,我想要每個數字都像5487那樣的打印號碼,並不是所有的數字都和一些數字一起。這是我想要的最簡單的東西 –

1

好,如果你有號5794,則需要mathmatically提取數字。

提示:如果將數字除以1000,會發生什麼情況?

+0

請告訴我示例 –

+0

@LionKing您是否試過將數字除以1000? – Maxpm

+0

@Maxpm:謝謝,但請給我示例代碼,我是初學者 –

0

掃描編號,然後你可以使用整數除法和提醒(%)操作符提取每個數字。

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 
    } 
} 
+0

謝謝,但我不是這個意思,我想要每個數字都像5487那樣的打印號碼不是所有的數字都和一些數字一起。這是我想要的最簡單的東西 –

相關問題