首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

关于将发作的随机数存入数组的几行代码

2013-09-09 
关于将产生的随机数存入数组的几行代码自己写了几行代码,是用srand函数将产生的随机数存入数组,供下面的函

关于将产生的随机数存入数组的几行代码
自己写了几行代码,是用srand函数将产生的随机数存入数组,供下面的函数调用,可是不能执行,哪位大侠帮忙看一下

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define  N 30000
int CreateArray()
{
int i,j;
int a[]={0};
srand((unsigned) time(NULL));
printf("请输入产生随机数的个数: ");
scanf_s("%d",&j);
for(i=0;i<j;i++)
{
a[i]=rand();
printf("%d",a[i]);
}
printf("\n");
return 1;
}
void main()
{
CreateArray ;
}

[解决办法]

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define  N 30000
int CreateArray()
{
    int i,j;
    int a[N]={0};
    srand((unsigned) time(NULL));
    printf("请输入产生随机数的个数: ");
        scanf_s("%d",&j);
    for(i=0;i<j;i++)
    {
        a[i]=rand();
        printf("%d\t",a[i]);
    }
    printf("\n");
    return 1;
}
int main()
{
    CreateArray();
    return 0;
}

小改了一下,你这个设计风格不好
[解决办法]
点评一下:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define  N 30000
int CreateArray()//数组的大小应该作为参数由主函数传入,
{
    int i,j;   //编程习惯,i,j表示序号,n,m表示个数
    int a[N]={0};//这个首元素初始化为0似乎没有意义,后面重新对a[0]赋值了
                //另外,这是个局部数组,当本函数结束后它就不存在了,没有实际意义
    srand((unsigned) time(NULL));
    printf("请输入产生随机数的个数: ");//随机数个数即数组元素个数应该由主函数确定、传入
        scanf_s("%d",&j);  //前面说过个数不要用j
    for(i=0;i<j;i++)


    {
        a[i]=rand();
        printf("%d\t",a[i]);//只能看到元素的值并不能传回主函数
    }
    printf("\n");
    return 1;  //只能返回1,有什么意义?并且主函数 中也没有接受、使用这个返回值
}
int main()
{
//应该在主函数中创建数组并确定元素的个数,并将它们传递成被调用函数
    CreateArray();
//在这里检验生成的随数数组
    return 0;
}

热点排行