创建动态数组并为其分配随机整数值? int*创建数组(字符类别,int n){ int*a; a=malloc(n*sizeof(int)); 对于(int i=0;i
当我打印此代码时,它只打印相同的随机变量“n”次。您可以使用创建动态数组并为其分配随机整数值? int*创建数组(字符类别,int n){ int*a; a=malloc(n*sizeof(int)); 对于(int i=0;i,c,arrays,srand,C,Arrays,Srand,当我打印此代码时,它只打印相同的随机变量“n”次。您可以使用srand(getpid()或使用x=rand()%11从0-10生成指定随机数的范围;您可以尝试以下方法: int* create_array(char category, int n){ int *a; a = malloc(n* sizeof(int)); for (int i = 0; i < n; i++) { int x; srand( time(NULL)); x = rand
srand(getpid()
或使用x=rand()%11
从0-10生成指定随机数的范围;您可以尝试以下方法:
int* create_array(char category, int n){
int *a;
a = malloc(n* sizeof(int));
for (int i = 0; i < n; i++) {
int x;
srand( time(NULL));
x = rand();
a[i] = x;
}
#包括
#包括
#包括
int*创建_数组(字符类别,int n);
int
main(int argc,char const*argv[]){
时间;
int*数组;
inti,n;
炭类;
srand((未签名)时间(&t));
printf(“输入类别:”);
如果(扫描频率(“%c”,&category)!=1){
printf(“无效类别。\n”);
退出(退出失败);
}
printf(“输入n个数字:”);
如果(scanf(“%d”,&n)!=1){
printf(“无效的n值。\n”);
退出(退出失败);
}
数组=创建数组(类别,n);
printf(“0-10之间的n个随机数:\n”);
对于(i=0;i
这些答案可能会有所帮助:以及
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int *create_array(char category, int n);
int
main(int argc, char const *argv[]) {
time_t t;
int *array;
int i, n;
char category;
srand((unsigned)time(&t));
printf("Enter category: ");
if (scanf("%c", &category) != 1) {
printf("Invalid category.\n");
exit(EXIT_FAILURE);
}
printf("Enter n numbers: ");
if (scanf("%d", &n) != 1) {
printf("Invalid n value.\n");
exit(EXIT_FAILURE);
}
array = create_array(category, n);
printf("Your n random numbers between 0-10:\n");
for (i = 0; i < n; i++) {
printf("%d ", array[i]);
}
free(array);
return 0;
}
int
*create_array(char category, int n) {
int *array;
int i, candidate;
array = malloc(n * sizeof(*array));
for (i = 0; i < n; i++) {
candidate = rand() % 10;
array[i] = candidate;
}
return array;
}