程式設計入門C語言 分佇列

2021-08-21 12:45:35 字數 1473 閱讀 1977

題目內容:

班級第一次列隊,通常老師會讓同學按身高排成一列,然後1、2報數,喊到1的同學向前一 步,就這樣,隊伍就變成兩列了。假設現在乙個班級有n個同學,並且他們已經按身高排成 了一列,同學按身高從1到n編號,你能告訴我最後哪些編號的同學站在了第一列麼? 

輸入格式:

輸入乙個正整數n,表示班級的人數。

輸出格式:

按順序輸出所有在第一列的同學對應的編號,每兩個編號之間用乙個空格隔開,最後乙個編號後面沒有空格。

輸入樣例:

輸出樣例:

1 3 5 7 9 11

時間限制:500ms記憶體限制:32000kb

看完本題你可能最先想到的就是:遍歷1~n之間的數字,若為奇數則正常輸出,偶數則輸出「  」(即空格),於是寫出下面的**

#define _crt_secure_no_warnings 1

#includeint main()

else

}return 0;

}

試一下執行結果

看似好像對,但是當輸入為偶數時,就出問題了。如下,由於遍歷到邊界數字6時,6為偶數,輸出空格,所以有誤

**如下:(「數字空格」)

#define _crt_secure_no_warnings 1

#includeint main()

printf("%d", i);

}else

printf("%d", i);

}return 0;

}

本題還有其他幾種解決辦法,具體如下--->

**如下:(「空格數字」)

//思路二:先輸出1,然後按照「空格數字」輸出

**如下:(「數字+空格」)

//思路三:把所有的奇數輸出來。空格問題在條件語句中處理

int main()

} }

return 0;

}

**如下:(「數字空格」)

//思路四:用while語句,不管你為奇數偶數,統一都把最後一位單獨拿出來處理

int main()

} printf("%d", i);

return 0;

}

綜上,比較一下這四種方式的的區別:

個人覺得思路一最好理解

程式設計練習 程式設計入門 C語言

程式每次讀入乙個正三位數,然後輸出逆序的數字。注意,當輸入的數字含有結尾的0時,輸出不應帶有前導的0。比如輸入700,輸出應該是7。簡單一點 include intmain 複雜一點 需要考慮到百位十位為零的情況 include intmain return0 utc是世界協調時,bjt是北京時間,...

c語言程式設計入門(二)

include int main 對於這個程式,可能需要先講一下printf這個函式的使用 printf函式是乙個標準庫函式,它的函式原型在標頭檔案 stdio.h 中。但作為乙個特例,不要求在使用 printf 函式之前必須包含stdio.h檔案。printf函式呼叫的一般形式為 printf 格...

C語言程式設計入門(三)

寫程式就像建立模型一樣,乙個完整的程式不僅有所謂的磚,也有所謂的框架,其實框架這個東西在後來的學習中將會指代封閉好的工具包一樣的東西。在這裡我們指的框架是指如何讓這些 磚 完成更加複雜的功能。這就涉及到了一些語句。即順序執行的語句,按照一定條件才執行的語句,按照條件進行迴圈的語句。順序語句不用多說,...