基礎練習 01字串

問題描述

對於長度爲5位的一個01串,每一位均可能是0或1,一共有32種可能。它們的前幾個是:數組

00000字符串

00001io

00010class

00011基礎

00100循環

請按從小到大的順序輸出這32種01串。二進制

輸入格式
本試題沒有輸入。
輸出格式
輸出32行,按從小到大的順序每行一個長度爲5的01串。
樣例輸出
00000
00001
00010
00011
<如下部分省略>
代碼:

#include <stdio.h>
#include <stdlib.h>
int main() {
int i,j,k;
for(i=0;i<32;i++)
{
int m=i%32;
int a[5];
for(j=4;j>=0;j--)
{
a[j]=m%2;
m=m/2;

}
for(k=0;k<5;k++)
{
printf("%d",a[k]);
}
printf("\n");
}
return 0;
}二維數組

思考:di

我一開始想的很麻煩otz想一個二維數組前面放個數後面放字符串?後面懵了好久感受很麻煩的亞子 思考

倒回去看題目就暴力解決了 直接輸出0-31 至關於這題本質轉化成十進制化二進制

我竟然一開始不會轉化!!仍是本身手算了一個數才反應過來用除2和2取餘實現otz基礎課被忘到狗肚子了去了

以後沒有動腦。。無腦輸出數組了(= =!

這裏有個點在輸出一個數的時候 原本不想多加輸出循環 輸出語句直接放在第一個5循環裏 但地址用a[4-j]的時候第一個數00000第一位0出不來 變成了4?但偷懶了沒細想改了個輸出循環。。

看看之後還會不會碰到先

相關文章
相關標籤/搜索