C++中怎样写一个判断三个数大小的程序?

输入double型变量A,B,C,通过编程比较它们的大小,控制台应用程序

首先用scanf获取输入的三个double型变量,存入arr数组。
然后利用冒泡排序法将数组进行排序。
冒泡排序法:
遍历数组第0到N-1个元素,依次比较相邻的两个元素,使较大的那个向前移。

实现代码如下:


#include <iostream>
#define N 3

using namespace std;

int main()
{
double arr[N];
double temp;

cout<< "A = ";
scanf("%lf", arr);
cout<< "B = ";
scanf("%lf", arr+1);
cout<< "C = ";
scanf("%lf", arr+2);

// 冒泡排序
for (int i = 0; i < N-1; i++) {     // 每次最大元素就像气泡一样"浮"到数组的最后
         for (int j = 0; j < N-1-i; j++) {  // 依次比较相邻的两个元素,使较大的那个向前移
if (arr[j] < arr[j+1]) {
temp = arr[j+1];
arr[j+1] = arr[j];
arr[j] = temp;
}
}
}

cout << endl << "排序结果: " << endl
     << arr[0] << ' ' << arr[1] << ' ' << arr[2] << endl;
return 0;
}

温馨提示:内容为网友见解,仅供参考
第1个回答  2013-10-15
#include<stdio.h>
void main()
{
int i,j;
double max=0,a[3],x,y,z;
scanf("%d%d%d",&x,&y,&z);
a[0]=x;
a[1]=y;
a[2]=z;
for(i=0;i<2;i++)
for(j=0;j<2-i;j++)
{
if(a[j]>a[j+1])
{
max=a[j];
a[j]=a[j+1];
a[j+1]=max;
}
}
for(i=0;i<3;i++)
printf("%d ",a[i]);
}这是起泡法原理 利用这个原理可以简单的对多个数进行排序
第2个回答  2013-10-15
#include<iostream>using namespace std;void main()//如果哪位高手有更好的方法,请不吝指出,谢谢!
{
double a,b,c;
cout<<"数字大小比较程序,输入数字a"<<endl;
cin>>a;
cout<<"数字大小比较程序,输入数字b"<<endl;
cin>>b;
cout<<"数字大小比较程序,输入数字c"<<endl;
cin>>c;
if (a>b && b>c)
{
cout<<"a>b>c"<<endl;
}
else if (a>b && c>b && a>c)
{
cout<<"a>c>b"<<endl;
}
else if (b>a && a>c)
{
cout<<"b>a>c"<<endl;
}
else if (b>c && c>a && b>a)
{
cout<<"b>c>a"<<endl;
}
else if (c>b && b>a)
{
cout<<"c>b>a"<<endl;
}
else if (c>a && a>b && c>b)
{
cout<<"c>a>b"<<endl;
}
else
{
cout<<"出现异常!输入了两个相同的数字!"<<endl;
}
cin>>a;//这里本来不需要再输入,这句语句是防止控制台输出结果后迅速关闭。
}本回答被网友采纳
相似回答