“藍橋杯”基礎練習:01字串


問題描述

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

00000

00001

00010

00011

00100

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

輸入格式
本試題沒有輸入。
輸出格式
輸出32行,按從小到大的順序每行一個長度為5的01串。
樣例輸出
00000
00001
00010
00011
<以下部分省略>
 
心得:
這個題目讓我想起了今天剛有的用整型數組存放大數的想法
先是每次從第一個元素開始算數處理,然后調整。
對於數組中每個元素的不溢出,用while()來解決。
 1 # include <stdio.h>
 2 int main(void)
 3 {
 4 int a[5]={0};
 5 int temp;
 6 int times;
 7 int i;
 8 printf("00000\n");
 9 for(times=1;times<=31;times++)
10 {
11     i=0;
12     a[i]+=1;
13     while(a[i]>=2)
14     {
15         temp=a[i]/2;
16         a[i]=a[i]%2;
17         i++;
18         a[i]=a[i]+temp;
19     }
20     for(i=4;i>=0;i--)
21     {
22         printf("%d",a[i]);
23     }
24     printf("\n");
25 }
return 0;
26 }

 

 
代碼:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM