#include <stdio.h> #include <stdlib.h>
void main() { int n, i, j; char str[11]; int *arr; scanf_s("%d", &n); arr = (int *)calloc(n, sizeof(int)); for (i = 0; i < n; i++) scanf_s("%x", arr + i);
str[10] = '\0'; // 确保字符串能结束 for (i = 0; i < n; i++) { for (j = 9; j >= 0 && arr[i] != 0; j--) { str[j] = '0' + (arr[i] & 07); // 显示低三位的八进制值 arr[i] >>= 3; // 右移三位 } puts(str + j + 1); // 输出字符串(循环跳出时,j已经减1)
//printf("%o\n", ); } free(arr); system("pause"); }
|