ACM PKU 2105 IP Address 简单题,读数据时细心

#include"stdio.h"

int fun(int m,int n)
{
    
int i;
    
if(n==0)return m;
    
for(i=1;i<=n;i++)
        m
*=2;
    
    
return m;
}


void main()
{
    
int T;
    
int i;
    
char b[33];
    
int a[33];
    
char temp;
    
int p1,p2,p3,p4;
    scanf(
"%d",&T);
    
while(T--)
    
{
        scanf(
"%s",b);
        p1
=0;
        p2
=0;
        p3
=0;
        p4
=0;
        
for(i=0;i<32;i++)
        
{
            a[i
+1]=(b[i]-'0');
        }

    

        
for(i=1;i<=8;i++)
        p1
+=fun(a[i],8-i);

        
for(i=9;i<=16;i++)
        p2
+=fun(a[i],16-i);

            
for(i=17;i<=24;i++)
            p3
+=fun(a[i],24-i);

                
for(i=25;i<=32;i++)
            p4
+=fun(a[i],32-i);

     printf(
"%d.%d.%d.%d\n",p1,p2,p3,p4);



    }


}

posted on 2007-09-20 18:10 流牛ζ木马 阅读(1006) 评论(2)  编辑 收藏 引用

评论

# re: ACM PKU 2105 IP Address 简单题,读数据时细心 2008-02-29 00:04 Pope

# include <iostream.h>
int main()
{
int n;
cin >> n;
for (int i = 0; i < n; ++i) {
for (int j = 0; j < 4; ++j) {
int d = 0;
for (int k = 0; k < 8; ++k) {
char b;
cin >> b;
d = (2 * d + (b - '0'));
}
cout << d;
if (j < 3) {
cout << ".";
}
}
cout << endl;
}
return 0;
}
  回复  更多评论   

# 这段代码呢? 2010-10-10 00:39 bgieast

#include <stdio.h>
#include <stdlib.h>
int main()
{
int times,i,j;
scanf("%d",&times);
char *p;
p=(char *)malloc(33*sizeof(char));
for(i=0;i<times;++i)
{
scanf("%s",p);
int a[4]={0},t=256;
for(j=0;j<32;j++)
{
t/=2;
a[j/8]+=(p[j]-'0')*t;
if(t==1)t=256;
}
printf("%d.%d.%d.%d\n",a[0],a[1],a[2],a[3]);
}
return 0;
}  回复  更多评论   


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


<2007年9月>
2627282930311
2345678
9101112131415
16171819202122
23242526272829
30123456

导航

统计

公告

MY Email/MSN :mars1021@163.com QQ : 27402040 流牛ζ木马

常用链接

留言簿(6)

随笔档案

相册

搜索

最新随笔

最新评论

阅读排行榜

评论排行榜