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

在C++6.0下运行

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

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

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

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

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

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

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

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

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2016-05-05

#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;

}

本回答被提问者采纳
第2个回答  2011-11-14
#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;
}
第3个回答  2011-11-14
#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;
}
相似回答