随机产生100个元素的一维数组a和10X10的二维数组b,求a,b数组的最大值,最小值,均值,总和.
来源:学生作业帮 编辑:百度作业网作业帮 分类:综合作业 时间:2024/04/28 15:40:09
随机产生100个元素的一维数组a和10X10的二维数组b,求a,b数组的最大值,最小值,均值,总和.
#include
#include
void main()
{
\x05int i,j;
\x05float suma,sumb;
\x05float avga,avgb;
\x05int maxa,maxb;
\x05int mina,minb;
\x05int a[100];
\x05int b[10][10];
\x05unsigned seed;
\x05printf("please input seed:");
\x05scanf("%d",&seed);
\x05srand(seed);
\x05suma = 0.0;
\x05for(i = 0; i < 100; i++)
\x05{
\x05\x05a[i] = rand() % 100;
\x05\x05suma += a[i];
\x05}
\x05avga = suma / 100.0;
\x05sumb = 0.0;
\x05for(i = 0; i < 10; i++)
\x05\x05for(j = 0; j < 10; j++)
\x05\x05{
\x05\x05\x05b[i][j] = rand() % 100;
\x05\x05\x05sumb += b[i][j];
\x05\x05}
\x05\x05avgb = sumb / 100.0;
\x05mina = maxa = a[0];
\x05minb = maxb = b[0][0];
\x05for(i = 0; i < 100; i++)
\x05{
\x05\x05if(mina > a[i])
\x05\x05\x05mina = a[i];
\x05\x05if(maxa < a[i])
\x05\x05\x05maxa = a[i];
\x05}
\x05for(i = 0; i < 10; i++)
\x05\x05for(j = 0; j < 10; j++)
\x05\x05{
\x05\x05\x05if(minb > b[i][j])
\x05\x05\x05\x05minb = b[i][j];
\x05\x05\x05if(maxb < b[i][j])
\x05\x05\x05\x05maxb = b[i][j];
\x05\x05}
\x05\x05printf("数组a的最大值是%d,最小值是%d,均值是 %.3f\n,总和是%.3f\n\n",maxa,mina,avga,suma);
\x05printf("数组b的最大值是%d,最小值是%d,均值是 %.3f\n,总和是%.3f\n\n",maxb,minb,avgb,sumb);
}
再问: 怎么不是随机产生100个数?
再答: 肯定是啊,只是上面没有输出来而已seed 是随机数种子,你每次输入一个随机数种子就会出现不同的值,结果也会不同
再问: 可不可以不要那个seed,直接运行就出现答案,而不是输入一个随机种子才出现,不好意思啊,我是初学者,准备考期末考,好多都不知道啊,期末考要把整个程序解析一遍给老师啊。求助啊。
再答: 不要那个seed 就会出现固定的结果,要想出现随机的结果,就必须要,我帮你解释一下呗 前面哪些定义的就不说了,就一个是随机数,不是人工输入的随机数种子,说是随机数,却每次都是同样的数字,求平均值,就先求总和,然后除以个数,后面是先将数组的第一个值赋给最大值和最小值,然后让数组里的每一个元素与之比较,遇到比最大值大的,就将那个值赋给最大值,一直到之后一个,得出的就是最大值,最小值的求法刚好相反
#include
void main()
{
\x05int i,j;
\x05float suma,sumb;
\x05float avga,avgb;
\x05int maxa,maxb;
\x05int mina,minb;
\x05int a[100];
\x05int b[10][10];
\x05unsigned seed;
\x05printf("please input seed:");
\x05scanf("%d",&seed);
\x05srand(seed);
\x05suma = 0.0;
\x05for(i = 0; i < 100; i++)
\x05{
\x05\x05a[i] = rand() % 100;
\x05\x05suma += a[i];
\x05}
\x05avga = suma / 100.0;
\x05sumb = 0.0;
\x05for(i = 0; i < 10; i++)
\x05\x05for(j = 0; j < 10; j++)
\x05\x05{
\x05\x05\x05b[i][j] = rand() % 100;
\x05\x05\x05sumb += b[i][j];
\x05\x05}
\x05\x05avgb = sumb / 100.0;
\x05mina = maxa = a[0];
\x05minb = maxb = b[0][0];
\x05for(i = 0; i < 100; i++)
\x05{
\x05\x05if(mina > a[i])
\x05\x05\x05mina = a[i];
\x05\x05if(maxa < a[i])
\x05\x05\x05maxa = a[i];
\x05}
\x05for(i = 0; i < 10; i++)
\x05\x05for(j = 0; j < 10; j++)
\x05\x05{
\x05\x05\x05if(minb > b[i][j])
\x05\x05\x05\x05minb = b[i][j];
\x05\x05\x05if(maxb < b[i][j])
\x05\x05\x05\x05maxb = b[i][j];
\x05\x05}
\x05\x05printf("数组a的最大值是%d,最小值是%d,均值是 %.3f\n,总和是%.3f\n\n",maxa,mina,avga,suma);
\x05printf("数组b的最大值是%d,最小值是%d,均值是 %.3f\n,总和是%.3f\n\n",maxb,minb,avgb,sumb);
}
再问: 怎么不是随机产生100个数?
再答: 肯定是啊,只是上面没有输出来而已seed 是随机数种子,你每次输入一个随机数种子就会出现不同的值,结果也会不同
再问: 可不可以不要那个seed,直接运行就出现答案,而不是输入一个随机种子才出现,不好意思啊,我是初学者,准备考期末考,好多都不知道啊,期末考要把整个程序解析一遍给老师啊。求助啊。
再答: 不要那个seed 就会出现固定的结果,要想出现随机的结果,就必须要,我帮你解释一下呗 前面哪些定义的就不说了,就一个是随机数,不是人工输入的随机数种子,说是随机数,却每次都是同样的数字,求平均值,就先求总和,然后除以个数,后面是先将数组的第一个值赋给最大值和最小值,然后让数组里的每一个元素与之比较,遇到比最大值大的,就将那个值赋给最大值,一直到之后一个,得出的就是最大值,最小值的求法刚好相反
随机产生100个元素的一维数组a和10X10的二维数组b,求a,b数组的最大值,最小值,均值,总和.
将随机产生的10个[100,200]范围内的随机整数存入数组,求数组中的最大值和最小值.
编一VB程序,随机产生10个30~100(包括30,100)的正整数,求最大值,最小值和平均值,并显示整个数组的值和结果
vb程序题:将二维数组A中的100个元素分别赋给一维数组B的每个元素并打印出来
C语言编程随机产生10个10到50的正整数存放到数组中,并求数组中的所以元素最大值、最小值、平均值及各元素
C语言将二维数组A的行和列元素互换,存到二维数组B中
用C语言编写:求元素个数为 10 的一维数组元素中的最大值、最小值和平均值.
输入10个实数,存入一维数组,输出其中的最大值、最小值和平均值.要求用指向数组的指针变量来处理数组元
java编程:编程从键盘输入一维数组 int a[20]中的20个整数,并求此数组元素的最大值、最小值、平均值及所
求元素个数为10的一维数组元素中的最大值和最小值.
定义两个整形二维数组a和b,求a+b,即矩阵a和b对应元素的和
求一维数组中,数组元素的最大值和最小值.