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