对于将三个数按从大到小输出的问题,可从两个方面设计解决方案,下面为具体的算法分析及程序。
算法一:
先定义一个长度为3的整形数组,通过scanf函数将数据输入数组中,将数组中元素采用选择法从大到小排序,最后再使用printf函数进行输出。
下面是具体的代码实现:
#include <stdio.h>
int main(){
int max,a[3];
for(int i=0;i<3;i++){
scanf("%d",&a[i]);
}
for(int i=0;i<3;i++){
if(a[i+1]>a[i]){
max=a[i+1];
a[i+1]=a[i];
a[i]=max;
}
}
for(int i=0;i<3;i++){
printf("%d ",a[i]);
}
return 0;
}
算法二:
先定义一个长度为3的整形数组,通过scanf函数将数据输入数组中,再调用sort函数将数组中的数据元素进行从大到小排序,最后再使用printf函数进行输出。
下面是具体的代码实现:
#include <iostream>
#include <algorithm>
using namespace std;
bool compare(int a,int b){
return a>b;
}
int main(){
int a[3];
for(int i=0;i<3;i++){
cin >> a[i];
}
sort(a,a+3,compare);
for(int i=0;i<3;i++){
cout << a[i] << " ";
}
cout << endl;
return 0;
}