#include <stdio.h>
#include <string.h>
#include <math.h>
int main()
{
int i, n, j, temp;
char ch;
scanf("%d", &n);
getchar();
long a[n];
char str[n][100000];
for (i = 0; i < n; i++) {
scanf("%s", str[i]);
for (j = 0, temp = 0; j < strlen(str[i]); j++) {
if (48 <= str[i][j] && str[i][j] <= 57) {
temp += (str[i][j] - 48) * pow(16, strlen(str[i]) - 1 - j);
} else if (65 <= str[i][j] && str[i][j] <= 70) {
temp += (str[i][j] - 55) * pow(16, strlen(str[i]) - 1 - j);
}
}
a[i] = temp;
}
long b[n];
for (i = 0; i < n; i++) {
temp = a[i];
b[i] = 0;
for (j = 0; temp / 8 > 0; j++) {
b[i] += (temp % 8) * pow(10, j);
temp = temp / 8;
}
b[i] += temp * pow(10, j);
}
for (i = 0; i < n; i++) {
if (i + 1 == n) {
printf("%d", b[i]);
} else {
printf("%d\n", b[i]);
}
}
return 0;
}
C语言蓝桥杯十六进制转八进制
于 2021-11-01 20:04:09 首次发布
本文介绍了一个使用C语言实现的简单程序,该程序能够读取用户输入的十六进制数,并将其转换为等价的八进制形式。通过对每个字符的处理和数学运算完成从十六进制到十进制再到八进制的转换。
1863

被折叠的 条评论
为什么被折叠?



