随机产生10个30~100(包括30,100)的正整数,求最大值、最小值和均值,并显示整个数组的值和结果。

在C++6.0下运行... 在C++6.0下运行 展开
 我来答
yesyes科
2020-02-22 · TA获得超过2.6万个赞
知道答主
回答量:608
采纳率:0%
帮助的人:10万
展开全部

1、首先,将数组和最小数,设置为实数类型。

2、定义三个整数类型的变量,保存数组元素的个数、数组元素的下标和最小值下标。

3、接着,输入数组元素个数。

4、用for循环语句控制数组元素的输入,条件是i的值小于数组元素个数。

5、输入数组元素时,判断它是否小于最小值,如果是则改变min的值,并记录下它的下标。

6、接着,输出数组的最小值。

7、用for循环语句,实现将最小值移动到数组的最前面。

8、最后,输出改变位置后的整个数组,运行程序就完成了。

xoalyg
推荐于2016-05-05 · TA获得超过4178个赞
知道大有可为答主
回答量:2356
采纳率:100%
帮助的人:2378万
展开全部

#include <stdio.h>

#include <stdlib.h>

#include <time.h>

int main(void) {

int i,n = 10;

int a[10],min = 100,max = 0,sum = 0;

srand(unsigned(time(NULL)));

for(i = 0; i < 10; i++) {

a[i] = (unsigned)rand()%31 + 70;

if(a[i] > max) max = a[i];

else if(a[i] < min) min = a[i];

sum += a[i];

}

for(i = 0; i < n; i++) printf("%4d",a[i]);

printf("\n");

printf("最大值是 : %d\n",max);

printf("最小值是 : %d\n",min);

printf("平均值是 : %.2lf\n",(double)sum/n);

return 0;

}

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
liu_jxnu
2011-11-14 · TA获得超过192个赞
知道小有建树答主
回答量:123
采纳率:0%
帮助的人:100万
展开全部
#include <iostream>
#include <cstdlib>
using namespace std;

int main()
{
int a[10],i;
int minx,maxx,sum;
minx = 200;
maxx = 0;
sum = 0;
for(i=0;i<10;i++)
{
int x = rand() % 101;
if(x >= 30)
{
a[i]= x;
if(minx > a[i])
minx = a[i];
if(maxx < a[i])
maxx = a[i];
sum += a[i];
cout<<a[i]<<" ";
}
else
i--;
}
cout<<endl;
cout<<"max="<<maxx<<" "<<"min="<<minx<<" "<<"sum="<<sum<<" "<<"avg="<<sum/10<<endl;
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友d7cef73
2011-11-14 · TA获得超过624个赞
知道小有建树答主
回答量:346
采纳率:0%
帮助的人:273万
展开全部
#include <iostream>
using namespace std;
int max=0;
int min=0;
void max_num(int* number,int first,int last)
{
if(first+1<last)
{
int i=(first+last)/2;
max_num(number,first,i);
max_num(number,i+1,last);
}
else if(first+1==last)
{
if(number[first]>number[last])
{
max=max>number[first]?max:number[first];
min=min<number[last]?min:number[last];
}
else if(number[first]<number[last])
{
max=max>number[last]?max:number[last];
min=min<number[first]?min:number[first];
}
}
else if(first==last)
{
max=max>number[first]?max:number[first];
min=min<number[last]?min:number[last];
}
};
int main()
{
int number[10];
int index=0;
int sum=0;
while(index<10)
{
int a=static_cast<int>(30+100*static_cast<long>(rand()))/(RAND_MAX+1);
number[index++]=a;
sum+=a;
}
int ave=sum/10;
max_num(number,0,9);
cout<<"The max is: "<<max<<endl
<<"The min is: "<<min<<endl
<<"The ave is: "<<ave<<endl;
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式