2014-09-23 74 views
-3

該作業包含了很多內容,但不幸的是,我的教授......缺乏解釋。如何打印出用戶的輸入,C中字母的字母?

如果我要讀取用戶的輸入,然後在垂直行中輸入每個字母,我不太確定語法的外觀。

從長遠來看,我們的目標是打印出一個垂直的單詞中的每個字符,然後將它們的二進制值打印到它們的右邊。

例:

Input = Hello 

expected output = 
H 
E 
L 
L 
O 
+1

我不確定downvotes是必要的。如果我知道如何解決這個問題,我不會問這個問題。 – Coleton 2014-09-23 01:32:51

+0

這個問題只是要求代碼。網上有幾十個示例代碼片斷正在做這件事。所以這個問題沒有用,也沒有顯示研究工作。因此,我低估了。 – mafso 2014-09-23 01:44:44

+0

而你是否知道答案是完全不相關的。你可以回答你自己的問題,這個問題可能是有趣或有用的,不管你是否知道如何解決問題。 – mafso 2014-09-23 01:51:55

回答

2

編程的關鍵之一是將問題分解成更小,更易於管理的部分。一步一個腳印,每增加一個功能。

  1. 閱讀用戶的輸入。不要做任何事情,只要讀取它。

  2. 按照輸入的內容打印用戶的輸入。

    Hello 
    
  3. 現在按字符打印輸入字符。打印H,然後e,然後l等您需要爲此編寫一個循環。

    Hello 
    

    (最終的結果將看起來是一樣的步驟#2中,但是您的代碼會更長,這是在用於下一步驟製備。)

  4. 現在打印在單獨的行的每個字符而不是全部在同一條線上。

    H 
    e 
    l 
    l 
    o 
    
  5. 最後,在打印它們時將每個字母轉換爲大寫。

    H 
    E 
    L 
    L 
    O 
    

如果你不知道如何做一個特定的步驟,這就是谷歌進來,例如:

0

這將做到這一點;還有其他方法可以達到同樣的效果:

int c; 
while ((c = getchar()) != EOF) 
    printf("%c\n", c); 

它的確取決於您是指「每個字母」還是「每個字符」。如果真的必須是字母,則:

int c; 
while ((c = getchar()) != EOF) 
{ 
    if (isalpha(c)) 
     printf("%c\n", c); 
} 
0

遍歷C風格的字符串(以空字符「\ 0」終止字符數組)你能做到這一點在許多方面。這裏是一個:

while(*ptr) { 
printf("%c\n", *ptr); 
ptr++; 
} 
0

與fgets獲得一串用戶輸入。 fputc是少數輸出命令之一。 把字符'\ n'導致一個新的。 這有幫助嗎。如果您需要完整的工作列表,請發送電子郵件。

相關問題