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