原代码是求十个数字的最大数,将成员函数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;
}