主要注意输入整数的范围可能超过int型 2^31-1,因此要将输入输出的整数定义为long,对应输出的格式化用%ld
#include<stdio.h>
int main(){
int ip[4];
long n;
scanf("%d.%d.%d.%d",&ip[3],&ip[2],&ip[1],&ip[0]); //
scanf("\n%ld",&n);
long out = ip[0]+256*ip[1]+256*256*ip[2]+256*256*256*ip[3];
printf("%ld\n",out);
int arr[4] = {0,0,0,0};
int k = 3;
int r;
while(k>=0){
r = n%256;
n = n/256;
arr[k--] = r;
}
printf("%d",arr[0]);
for(int i=1;i<4;i++){
printf(".%d",arr[i]);
}
}



京公网安备 11010502036488号