gpt4 book ai didi

c - 在 C 中打印和填充二维数组

转载 作者:行者123 更新时间:2023-11-30 17:35:08 26 4
gpt4 key购买 nike

原帖:
好的,这是我完成的一个练习,并且理解它是如何工作的,但是我有一个作业,我必须用随机数填充一个数组,然后将其打印出来,并且能够在数组中搜索特定号码(查询)并在输入位置打印该号码。
该数组需要有 5 行,10 列,所以我知道在我的定义中我需要相应地更改 4 和 5。但是,我不确定如何在数组中的每个位置生成随机数。我知道以下内容必须在某处使用,但我不太确定它应该在代码中如何使用或在何处使用。我还必须使用函数...并生成一个菜单供用户选择操作,其中一个用于填充、打印、查询和终止。显然,我需要用变量替换数组中的位置,以使位置依赖于随机数生成器,同时仍然确保它们是随机的而不是完全相同的。 (0-999)

编辑后的帖子:

好的,现在我已经能够让数组填充和存储随机数,我需要相应地调整值以使它们与数组的维度和范围相匹配,但这只是一个开始。但是,我现在需要创建一个菜单,可以提示用户输入字符并执行任务,例如:

MENU

Select one of the following options:

F. Fill the array with a random number series.

P. Print the array.

Q. Query the array.

Z. Terminate the program.

最后是一个“M”来调用菜单

一些参数:

-- fill 选项将填充 50 个整数的数组和范围内的随机数1...999。

**每次执行 fill 选项时,都会用新的值填充数组随机数系列。

-- 打印数组会将数字打印到屏幕上。

-- 查询将要求用户输入位置(索引),然后打印数字在那个位置。如果用户输入无效位置,则会打印一条消息如此说。

编辑代码:

/* Generate a random number permutation.*/

#include < stdio.h >

#include < stdlib.h >

#define ARY_SIZE 20

//Function Declarations

void bldPerm (int randomNos[]);

void printData (int data[], int size, int lineSize);

int main(void)

{

//Local Declarations

int randNos[ARY_SIZE];

//Statements

printf("Begin Random Numbers Permutation Generation\n");

bldPerm (randNos);

printData (randNos, ARY_SIZE, 10);

return 0;
}//main

/*=====================bldPerm======================*/


void bldPerm(int randNos[])

{

//LD's

int oneRandNo;

int haveRand[ARY_SIZE] = { 0 };


//Statements

for (int i = 0; i < ARY_SIZE; i++)

{

do

{
oneRandNo = rand() % ARY_SIZE;

} while (haveRand[oneRandNo] == 1);

haveRand[oneRandNo] = 1;

randNos[i] = oneRandNo;

} //for

return;

}//bldPerm

/*=====================printData======================*/

void printData(int data[], int size, int lineSize)

{

//LD's

int numPrinted = 0;

//Statements

printf(" \n ");

for (int i = 0; i < size; i++)

{

numPrinted++;

printf(" %2d ", data[i]);

if (numPrinted >= lineSize)

{

printf(" \n ");

numPrinted = 0;

}//if

}//for

printf(" \n ");

return;

}//printData

最佳答案

我认为这是解决此类问题的错误论坛,但无论如何。

第一次尝试:

1) 删除 quizScores 的初始化2) 使用 srand(time(NULL)) 初始化种子;请记住包含 time.h2) 创建一个双 for 循环,使用 rand()%100 初始化元素。这将给出 0 到 100 之间的随机数。

对于菜单,我建议使用 getchar() 暂时查看并查询操作

关于c - 在 C 中打印和填充二维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23087150/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com