codeup-進変換

1943:進変換

制限時間:1秒   メモリ制限:32メガバイトの
提出:1559   解決:579
[ 送信 ] [ ステータス ] [ ウェブボード ]、[作成者:インポート]

説明

30進までの長さは、非負整数出力を2進数に変換される数字。

入力

データの複数のセット、30以下小数非負整数の長さの挙動のそれぞれ。
(数ではなく整数30bitsの、進数30が有していてもよいことに注意してください)

出力

出力の各行に対応する二進数。

サンプル入力

985 
211 
1126

サンプル出力

1111011001 
11010011 
10001100110


1の#include <stdio.hの>
 2の#include < 文字列・H>
 3。 
4。 INT メイン(){
 5。     チャー S [ 40 ];
 6      INT C [ 40 ];
 7      一方(scanfの(" %のS "、S)! = EOF){
 8。         INT LEN = STRLEN(S)、Iは= 0 ;
 9          // 最初の上部ボロー高い一時保存するかどうかを示すQ 
10          のint ANS [ 100 ]、NUM = 0 、Q、温度を、  
 11          // 最初の整数配列に変換された文字列
12がある         ためのInt K = 0 ; K <lenを、K ++ ){
 13である              C [K] = S [K] - ' 0 ' ;
 14          }
 15          ながら(I < LEN){
 16              Q = 0 ;
 17。              ANS [NUM ++] =( C [lenを1 ])%2 ;
 18は、             //は新しい配列を作成する
19。             ためのINT J = I; J <lenを、J ++ ){
 20は                  TEMP = C [J];
 21である                  C [J] =(C [J ] + Q)/ 2 ;
 22であります                 IF(TEMP%2 == 0){ //は高い割り切れるか否かを判断
23である                      Q = 0 ;
 24                  } {
 25                      Q = 10 ;
 26である                 }
 27              }
 28              IF(C [I] == 0)I ++ ;
 29          }
 30          のためにINT I = num- 1。 ; I> = 0 ; i-- ){
 31である              のprintf(" %のD "、ANS [I])。
32          }
 33          のprintf(" \ n " );
34      }
 35      リターン 0 36 }

おすすめ

転載: www.cnblogs.com/heyour/p/12149871.html