IPV4:十进制ip地址输入转换成十六进制输出。
#include<iostream>
using namespace std;
int main()
{
char p[16];
int array[4];
int num = 0;
cin >> p;
for (int i = 0; i <= 16; i++)
{
if (num == 3)
{
array[num] = p[i] - 48;
if (p[i + 1] - 48 <= 9 && p[i + 1] - 48 >= 0)
{
array[num] = array[num] * 10 + (p[i + 1] - 48);
if (p[i + 2] - 48 <= 9 && p[i + 2] - 48 >= 0)
{
array[num] = array[num] * 10 + (p[i + 2] - 48);
}
}
num++;
break;
}
if (p[i] == '.')
{
if (p[i - 1] != '.'&&i - 1 >= 0)
{
array[num] = p[i - 1] - 48;
if (p[i - 2] != '.'&&i - 2 >= 0)
{
int tem = array[num] + (p[i - 2] - 48) * 10;
array[num] = tem;
if (p[i - 3] != '.'&&i - 3 >= 0)
{
array[num] = array[num] + (p[i - 3] - 48) * 100;
}
}
}
num++;
}
}
printf("%X.%X.%X.%X\n", array[0], array[1], array[2], array[3]);
system("pause");
}