C语言 实验8-2-10 IP地址转换 (20分)
程序员文章站
2022-06-07 14:34:17
...
思路:八个一组,分四组计算。
找到每组开始和结束时临界条件的特点即可。
#include<stdio.h>
#include<math.h>
int main (void)
{
char str[33]; // 字符串要比需输入的多一个长度,别忘啦结束符 '\0'
scanf("%s",str);
int i,n=1,sum=0,k=7;
for (i=(n-1)*8; i<8*n; i++){
sum += pow(2,k--) * (str[i]-'0'); // 八个一组 计算
if (i == 8*n-1){ // 第八个数计算完的时候
n++;
printf("%d",sum);
sum = 0;
k = 7;
if (n <= 4) // 套娃输出 点
printf(".");
}
if (n > 4) // n = 5时计算结束
break;
}
return 0;
}