IPV4:十进制ip地址输入转换成十六进制输出。
1条回答 默认 最新
莫莱维 2020-06-03 21:42关注#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"); }本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报