山药233 2023-04-11 22:43 采纳率: 50%
浏览 36
已结题

c语言程序设计(数组显示)

一个长度为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条)

报告相同问题?

问题事件

  • 系统已结题 4月19日
  • 已采纳回答 4月11日
  • 创建了问题 4月11日