原始邮件:
好的,所以这是我练习的一个练习并理解它是如何工作得很好的,但是我有一个任务,我必须用随机数填充一个数组然后打印出来,以及能够搜索数组特定数字(查询)并在输入的位置打印数字
数组需要5行10列,所以我知道在我的定义中我需要相应地更改4和5。但是,我不知道如何在数组中每个位置生成一个随机数。我知道必须在某处使用以下内容,但我不太确定它应该在代码中的位置和位置。我还必须使用函数...并生成一个菜单供用户选择操作,一个用于填充,打印,查询和终止。我显然需要用变量替换数组中的位置,以使位置依赖于随机数生成器,同时仍然确保它们是随机的而不是全部相同。 (0-999)
编辑后:
好的,所以我现在能够让数组填充并存储随机数,我需要相应地调整它们以使它们与数组的大小和范围相匹配,但它是一个开始。但是,我现在需要创建一个菜单,我可以提示用户输入字符并执行以下任务:
MENU
选择以下选项之一:
F。用随机数字序列填充数组。
P上。打印阵列。
Q值。查询数组。
ž。终止程序。
最终是一个' M'召回菜单
一些参数:
- 填充选项将填充50个整数的数组 同 范围内的随机数 1 ... 999。
**每次执行填充选项时,它都会用新的填充数组 随机数系列。
- 打印数组会将数字打印到屏幕上。
- 查询将要求用户输入位置(索引),然后打印该号码 在那个位置。如果用户输入无效位置,则会打印一条消息 这样说。
编辑代码:
/* 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
答案 0 :(得分:0)
我认为这是这类问题的错误论坛,但无论如何。
首先尝试:
1)删除quizScores的初始化 2)使用srand(time(NULL))初始化种子;记得包括time.h 2)使用rand()%100进行双循环以初始化元素。这将给出0到100之间的随机数。
使用菜单,我建议使用getchar()
稍微查看和查询操作答案 1 :(得分:0)
这是您所有阵列问题的简单开始。您必须实现的菜单应该处理switch语句,然后处理相应的函数调用。
class template MyClass<float>