将成员函数max_value()改为order_value(),实现对包含10个元素的数组降序排序。

原代码是求十个数字的最大数,将成员函数max_value()改为order_value(),以实现对包含10个元素的数组降序排序。

#include <iostream>
using namespace std;
class Array_max
{public:
    void set_value();
    void max_value();
    void show_value();
private:
    int array[10];
    int max;
};
void Array_max::set_value()
{int i;
    for(i=0;i<10;i++)
        cin>>array[i];
}
void Array_max::max_value()
{int i;
    max=array[0];
    for(i=1;i<10;i++)
        if(array[i]>max)max=array[i];
}
void Array_max::show_value()
{cout<<"max="<<max;}
int main()
{Array_max arrmax;
    arrmax. set_value();
    arrmax. max_value();
    arrmax. show_value();
    return 0;
}

 

代码如下,如有帮助,请采纳一下,谢谢。

#include <iostream>
using namespace std;
class Array_max
{
public:
	void set_value();
	void order_value();
	void show_value();
	
private:
	int array[10];
	int max;
};
void Array_max::set_value()
{
	int i;
	for(i=0;i<10;i++)
	cin>>array[i];
}
void Array_max::order_value()
{
	int len = 10;
	int i, j, temp;
	for (i = 0; i < len - 1; i++)
		for (j = 0; j < len - 1 - i; j++)
			if (array[j] < array[j + 1]) 
			{
				temp = array[j];
				array[j] = array[j + 1];
				array[j + 1] = temp;
			}
	
	printf("排序后:");
	for (int i = 0; i < len; i++)
	{
		printf("%d ",array[i]);
	}
	printf("\n");
}
void Array_max::show_value()
{
	cout<<"max="<<max;
}
int main()
{
	Array_max arrmax;
	arrmax. set_value();
	arrmax. order_value();
	arrmax. show_value();

	system("pause");
	return 0;
}