2016-11-24 107 views
-3

我這裏有一個小問題C++:按字母順序循環

這是我的代碼

int imax = 5; 
for (int i = 0; i < imax; i++) { 
    Code here... 
} 

在這裏,我想打印出字母如A,B,C,更取決於i的價值。

例如,如果imax == 7,那麼它應該打印A,B,C,d,E,F,G。

謝謝,

初級程序員

在C++
+0

你忘了問一個問題。這不是我*服務的*寫代碼。你需要拿一本書並弄清楚。 – nwp

+1

'std :: cout << char('A'+ i)'可以在大多數環境中工作(但不能[EBCDIC](https://en.wikipedia.org/wiki/EBCDIC))。 – Jarod42

+0

不清楚,你想要什麼。如果循環打印出「A,B,C ...」或每次迭代應打印出不同的內容,例如'A,B,C,D,E,F,G' if if i == 7'和其他迭代的不同之處在寫這篇文章的時候,我認爲我發現了你的錯誤是......你的意思是當循環爲'for(int i = 0; i <7; i ++)'時,結果應該是'A,B,C,D,E,F,G'?你用'i = 7'的陳述沒有多大意義 – user463035818

回答

-1

具有ASCII碼 如果下面的代碼輸入下來,你可以看到

char x; for(int i=65;i<=90;i++) { x=i; cout << x <<" "; } 

從這個代碼,你可以看到65個-90位於英文大寫字母然後打開一個字符一個nd從65到90開始,你會得到你的信

+0

char x; (int i = 1; i <= 256; i ++) { x = i; cout << x <<「」<< i << endl; } –

+0

char x; (int i = 65; i <= 90; i ++) { x = i; cout << x <<「」; } –

+0

你不能編輯答案嗎? – user463035818

0

你想先打印5,然後4,然後打印1封信?如果是這樣,使用該代碼在循環:

for(int i = 0; i < 5; ++i) { 
    for(char c = 'A'; c < 'A'+i; ++c) { 
     cout << c << ' '; 
    } 
    cout << endl; 
} 

我在一個創建第二個for循環,從「A」的迭代,以「A」 + i和打印迭代器。然後,爲了可讀性,我打印換行符。

如果你的意思是要打印僅有5個字符,使用此代碼:

for(int i = 0; i < 5; ++i) { 
    cout << (char)('A' + i) << ' '; 
} 

在你的循環我增加 'A' 由我(迭代器)。然後,我將結果(它是int)轉換爲char。

希望這有助於。