Re: [問題] 二進位數字排序
※ 引述《wupeiing (永和汪小龍)》之銘言:
: 其實是要使用者輸入二進位數字 例如 1100101
: output出來是要排過序的 例如1111000 這樣
: 然後不能使用陣列 指標 我是想說 用function算出1的個數(在main以k為變數)
二進位版
#include <stdio.h>
int main() {
int i = 0, j = 0;
char c;
while((c = getchar()) != '\n') {
if(c == '1') {
++i;
}
++j;
}
while(i--) {
putchar('1');
--j;
}
while(j--) {
putchar('0');
}
puts("");
return 0;
}
十進位版(最多32位)
#include <stdio.h>
#include <math.h>
int main() {
int n, m, b;
while(~scanf("%d", &n)) {
m = log2(n) + 1;
while(n) {
b = n & -n;
n &= ~b;
--m;
putchar('1');
}
while(m--) {
putchar('0');
}
puts("");
}
return 0;
}
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.25.246.54
推
10/15 22:26, , 1F
10/15 22:26, 1F
→
10/15 22:27, , 2F
10/15 22:27, 2F
推
10/15 22:29, , 3F
10/15 22:29, 3F
→
10/15 22:30, , 4F
10/15 22:30, 4F
推
10/15 22:31, , 5F
10/15 22:31, 5F
推
10/15 22:31, , 6F
10/15 22:31, 6F
討論串 (同標題文章)
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章