找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 5124|回复: 6
收起左侧

用C语言如何定义一个数组要求前面的是0到9.后面的随机。长度为48

[复制链接]
ID:264913 发表于 2018-9-25 20:10 | 显示全部楼层 |阅读模式
10黑币
真的不会,写的程序光报错。不喜欢被批评,喷子勿来。谢谢
Screenshot_2018-09-25-20-08-13.jpg

最佳答案

查看完整内容

我需要你这10分 ============= #include #include #include #define MAX_SIZE (48) int main(int argc, char* argv[]) { unsigned char szData[MAX_SIZE] ; unsigned char i = 0x00 ; memset(szData, 0x00, sizeof(szData)) ; srand((int)time(0)); printf("\n") ; for(i=0x00; i
回复

使用道具 举报

ID:402863 发表于 2018-9-25 20:10 | 显示全部楼层
我需要你这10分
=============

#include <string.h>
#include <stdlib.h>
#include <time.h>

#define MAX_SIZE (48)

int main(int argc, char* argv[])
{
        unsigned char szData[MAX_SIZE] ;
        unsigned char i = 0x00 ;

        memset(szData, 0x00, sizeof(szData)) ;

        srand((int)time(0));

        printf("\n") ;

        for(i=0x00; i<MAX_SIZE; i++)
        {
                if(i<10)
                {
                        szData[i] = (i + 0x30) ;
                }
                else
                {
                        szData[i] = (rand() % 0xFF) ;
                }

               
                if((0x00 == (i%10)) && (0x00 != i))
                {
                        printf("\n") ;
                }
                printf("0x%02X ", szData[i]) ;
        }

        printf("\n\n") ;

        return 0;
}

==============
结果:

0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39
0xB3 0x00 0xD8 0xBB 0x9F 0x90 0x56 0x26 0x3B 0xFC
0xD3 0xEA 0xB6 0xA6 0x18 0x21 0xC8 0xB5 0x06 0xCC
0x0E 0x0B 0x0D 0x28 0x89 0x55 0xC0 0xE1 0xA9 0x10
0xA2 0x5A 0x73 0x0E 0xDA 0xF8 0xBC 0xD3

Press any key to continue

注: 后面的随机数, 每次运行都不同.

===========================

评分

参与人数 2黑币 +75 收起 理由
angmall + 35 回帖助人的奖励!
admin + 40 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

ID:110606 发表于 2018-9-26 08:14 | 显示全部楼层
前10个直接赋值,我觉得不难,后面进行随机赋值呗, rand()这个函数专门出随机数,

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

ID:396960 发表于 2018-9-26 09:11 | 显示全部楼层
不会要慢慢调,最好别直接找代码,思路很重要。
定义数组--初始化赋值--随机输入赋值(i从10开始)
输出(printf)类型 %X --一行10个数(对i操作)
要清晰,加空格?

评分

参与人数 1黑币 +40 收起 理由
admin + 40 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

ID:279667 发表于 2018-9-26 09:32 | 显示全部楼层
定义一个无符号字符类型的数组,长度为48,然后用for循环进行循环赋值,当数组下标大于9时,改用rand()函数生成的随机数进行赋值,一直到最后一个数为止。下面是简单的思路
int8 array[48]
uint8 i;
for(i = 0; i < 48; i++)
{
if(i < 10)
{
array[i]=i;
}
else
{
array[i]=rand();//注意rand函数生成的值
}
}

评分

参与人数 1黑币 +30 收起 理由
admin + 30 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

ID:402592 发表于 2018-9-26 10:54 | 显示全部楼层
你前面自己赋值,后面的写个循环在用随机函数赋值就好啦

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

ID:111634 发表于 2018-9-27 17:32 | 显示全部楼层
先学理论,打基础,否则,问题多多,事倍功半。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表