天天看點

7-1 IP位址轉換 (20分)PTA

7-1 IP位址轉換 (20分)

題目:

一個IP位址是用四個位元組(每個位元組8個位)的二進制碼組成。請将32位二進制碼表示的IP位址轉換為十進制格式表示的IP位址輸出。

輸入格式:

輸入在一行中給出32位二進制字元串。

輸出格式:

在一行中輸出十進制格式的IP位址,其由4個十進制數組成(分别對應4個8位的二進制數),中間用“.”分隔開。

輸入樣例:

11001100100101000001010101110010

輸出樣例:

204.148.21.114

代碼:

#include<stdio.h>

#include

#include

int main()

{

double sum=0,shu[4][8];

for(int i=0;i<=3;i++)

{

sum=0;

for(int u=0;u<=7;u++)

{

scanf("%1lf",&shu[i][u]);

if(shu[i][u]==1)sum=sum+pow(2,7-u);

}

if(i0)printf("%.0lf",sum);

else printf(".%.0f",sum);

}

return 0;

}

思路:

在寫這道題之前看了一下其他大大的,發現他們大多用的是字元型數組去處理這個長長的輸入,看到一個輸入是%8s,又因為我仍然還是想用int型,于是試了試%1lf使32個數字分為三十二次單獨輸入。

結果:

PTA的測試試點全過

(大家可以作參考哦)

繼續閱讀