題目1473:二進制數時間限制:1 秒 內存限制:128 兆 特殊判題:否 提交:64 解決:30 題目描述: 大家都知道,數據在計算機裡中存儲是以二進制的形式存儲的。 有一天,小明學了C語言之後,他想知道一個類型為unsigned int 類型的數字,存儲在計算機中的二進制串是什麼樣子的。 你能幫幫小明嗎?並且,小明不想要二進制串中前面的沒有意義的0串,即要去掉前導0。 輸入: 第一行,一個數字T(T<=1000),表示下面要求的數字的個數。 接下來有T行,每行有一個數字n(0<=n<=10^8),表示要求的二進制串。 輸出: 輸出共T行。每行輸出求得的二進制串。 樣例輸入: 5 23 535 2624 56275 989835樣例輸出: 10111 1000010111 101001000000 1101101111010011 11110001101010001011來源: 2012年北京郵電大學計算機研究生機試真題 [cpp] /********************************* * 日期:2013-2-26 * 作者:SJF0115 * 題號: 九度OJ 題目1473:二進制數 * 來源:http://ac.jobdu.com/problem.php?pid=1473 * 結果:AC * 來源:2010年吉林大學計算機研究生機試真題 * 總結: **********************************/ #include <stdio.h> #include <stdlib.h> int array[10001]; int main () { int N,i,k; unsigned int n; while(scanf("%d",&N) != EOF){ while(N--){ k = 0; scanf("%u",&n); if(n == 0){ printf("0\n"); } else{ while(n){ array[k++] = n % 2; n = n / 2; } for(i = k-1;i >= 0;i--){ printf("%u",array[i]); } printf("\n"); } } } return 0; } /********************************* * 日期:2013-2-26 * 作者:SJF0115 * 題號: 九度OJ 題目1473:二進制數 * 來源:http://ac.jobdu.com/problem.php?pid=1473 * 結果:AC * 來源:2010年吉林大學計算機研究生機試真題 * 總結: **********************************/ #include <stdio.h> #include <stdlib.h> int array[10001]; int main () { int N,i,k; unsigned int n; while(scanf("%d",&N) != EOF){ while(N--){ k = 0; scanf("%u",&n); if(n == 0){ printf("0\n"); }www.2cto.com else{ while(n){ array[k++] = n % 2; n = n / 2; } for(i = k-1;i >= 0;i--){ printf("%u",array[i]); } printf("\n"); } } } return 0; }