C 使用随机数创建自定义数组大小
我试图编写一个函数,返回一个自定义大小的数组,并填充随机数。我的全部代码如下:C 使用随机数创建自定义数组大小,c,arrays,C,Arrays,我试图编写一个函数,返回一个自定义大小的数组,并填充随机数。我的全部代码如下: #include <stdio.h> #include <stdlib.h> #include <time.h> int check_error(int a); void initialize_array(int array[],int a); void print_array(int array[],int a); int replace(int array[],int i,
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int check_error(int a);
void initialize_array(int array[],int a);
void print_array(int array[],int a);
int replace(int array[],int i, int b, int c);
int main(void)
{
int asize, array;
printf("Hello!\nPlease enter the size of the array:\n");
scanf("%d", &asize);
check_error(asize);
while (check_error(asize)==0)
{
printf("Invalid input! Enter the size of the imput size again:\n");
scanf("%d", &asize);
}
if (check_error(asize)==1)
{
initialize_array(array, asize);
}
}
int check_error(int a)
{
if (a> 0 && a <= 100)
return 1;
else
return 0;
}
void initialize_array(int array[], int a)
{
int i;
srand(time(NULL));
for(i=0; i < a; i++)
{
array[i]=rand()%10;
}
}
#包括
#包括
#包括
int检查_错误(int a);
无效初始化_数组(int数组[],int a);
无效打印_数组(int数组[],int a);
int替换(int数组[],int i,int b,int c);
内部主(空)
{
集成、阵列;
printf(“您好!\n请输入数组的大小:\n”);
scanf(“%d”和&asize);
检查错误(asize);
while(check_error(asize)==0)
{
printf(“无效输入!再次输入输入大小:\n”);
scanf(“%d”和&asize);
}
如果(检查错误(asize)==1)
{
初始化_数组(数组,asize);
}
}
整数检查_错误(整数a)
{
如果代码中的(a>0&&a,请删除以前的数组定义,然后执行以下操作:
if (check_error(asize)==1) {
int array[asize];
initialize_array(array, asize);
// other stuff here
}
请注意,数组仅在if的{}之间有效(check_error)语句。您的问题是什么?您的代码在做什么?您希望它做什么?我的问题是如何使用随机数创建此数组。此代码从用户处获取一个整数值,定义数组的大小。代码检查数组大小是否在0和100之间,然后是0或1。我需要prgram创建一个“asize”大的数组,使用0-9之间的随机数填充1D数组中的这些点。+1在调用端使用VLA,并保持现有的初始化数组()
。另外,添加为作为一对参数生成的随机数范围提供上下限的功能将是一个很好的选择。+1不管怎样。这是一个可行的解决方案。实验室声明,我不能在代码中使用指针,我必须使用函数并通过函数传递数组。好的,基于WhozCraig的建议的全新答案开,没有指针。