c语言循环字符,字符串 非暴力for循环法(内附C语言代码)
對于長度為5位的一個01串,每一位都可能是0或1,一共有32種可能。它們的前幾個是:
00000
00001
00010
00011
00100
請按從小到大的順序輸出這32種01串。
輸入格式
本試題沒有輸入。
輸出格式
輸出32行,按從小到大的順序每行一個長度為5的01串。
樣例輸出
00000
00001
00010
00011
除非實在做不出來,不然我一般不會看題目自帶的錦囊的,這也導致我在看到網上的“標準答案”的時候大吃一驚
先講錦囊和網上幾乎全部的解,就是五層for循環每個數字,想知道的朋友隨便百度就行了
我自己看到這個題的時候,可能因為上過網絡基礎的課,第一反應就是本題是考察我們對二進制的理解
輸出32行就是0-31的排序輸出二進制(直到看到網上的代碼前我也一直這樣認為)
因為本題比較簡單我這樣說思路上應該能理解了,我就直接貼我的代碼吧
#include
#include /*轉換二進制函數頭文件*/
int main()
{
int i;
char Binary[6]; /*轉換儲存數組,多生命一個存放結束符*/
for(i=0;i<32;i++)
{
itoa(i,Binary,2); /*第一個參數是要轉換的數,第二個是儲存的數組,第三個是轉換的進制*/
printf("%05s\n",Binary); /*不夠5個數的前面補0*/
}
return 0;
}
本題暴力for循環和二進制排序各有優點,有些剛學C的可能記不住二進制的頭文件和函數,但是暴力for循環只是很簡單的邏輯算法
總結
以上是生活随笔為你收集整理的c语言循环字符,字符串 非暴力for循环法(内附C语言代码)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: android项目 之 记事本(6)--
- 下一篇: php小米官网,小米商城的首页