一个长度为48的8位数数组,数组前面10个单元固定为'0'..'9',后面随机赋值,按16进制显示这个数组,每10个数一行并且显示时可清晰看出数组中每个单元的16进制值(怎么才能输入8位数呢…)
2条回答 默认 最新
threenewbee 2023-04-11 23:13关注按照题意,应该说的是2进制的八位而不是十进制的八位。char即可。
#include <stdio.h> #include <stdlib.h> #include <time.h> int main() { // 初始化随机数种子 srand((unsigned)time(NULL)); // 初始化数组前 10 个元素 char arr[48] = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9'}; // 随机生成数组后面 38 个元素 for (int i = 10; i < 48; i++) { arr[i] = rand() % 256; // 生成 0-255 之间的随机数 } // 每 10 个数一行显示数组 for (int i = 0; i < 48; i += 10) { for (int j = 0; j < 10; j++) { printf("%02X ", (unsigned char)arr[i+j]); } printf("\n"); } return 0; }本回答被题主选为最佳回答 , 对您是否有帮助呢?评论 打赏 举报解决 1无用