用c程序如何对从键盘输入的3个数进行从大到小的排列,谢谢大侠!

如题所述

#include<stdio.h>

void main()

{

int a[3],t,i,j;

printf("请输入需要排序的三个整数\n");

for(i=0;i<3;i++)

scanf("%d",&a[i]);

for(j=1;j<3;j++)

for(i=1;i<4-j;i++)

 {if(a[i]>a[i-1])

  {t=a[i];a[i]=a[i-1];a[i-1]=t;}

 }

printf("按从大到小的顺序排列结果是:\n");

for(i=0;i<3;i++)

printf("%d ",a[i]);

printf("\n");

}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-03-06
有很多种方法,我就说最简单的方法。
把这三个数赋值给一个整形数组,然后用sort()函数对数组排序,再输出。追问

如果只用if和if else语句呢

本回答被提问者采纳
第2个回答  2011-03-06
;
#include <string>
using namespace std; //以上为引用头文件
int main() //主函数
{
int i;
string str[5];
void sort(string s[]);
cout<<"Please input string:"<<endl;
for(i=0;i<=5;i++)
cin>>str[i]; sort(str); cout<<"The sorted string is:"<<endl;
for(i=0;i<5;i++)
cout<<str[i]<<" "; cout<<endl;
return 0;
}
void sort(string s[])
{
int i,j;
string temp;
for(i=0;i<4;i++)
for(j=0;j<4-i;j++)
if(s[j]>s[j+1]) //对每个进行比较
{
temp=s[j];
s[j]=s[j+1];//把小的数放在前面
s[j+1]=temp;
}
}
是对的