poj 2105 IP Address【模板 power2】
這道題就是一個字符串處理的問題。。。
一次AC,很爽。。。
#include <stdio.h> char IP[35]; //存放最開始的二進製數 int address[5]; //存放最後的答案 int power2(int n) { //自己寫的2的次方 int i; int result=1; for (i=0;i<n;i++) result<<=1; //不停 *2 return result; } //將二進製轉成4個十進製 void work() { int i,j; int result; for(i=4;i>=1;i--) { //i代表的就是四個格子 result=0; for(j=i*8-1;j>=(i-1)*8;j--) { if(IP[j]=='1') result+=power2(7-j%8); } address[i]=result; } } int main() { int N; scanf("%d",&N); while(N--) { scanf("%s",IP); work(); printf("%d.%d.%d.%d\n",address[1],address[2],address[3],address[4]); } return 0; }
最後更新:2017-04-03 05:39:47