输入4个实数,按有大到小的顺序排序并输出这些数 这个题的程序怎么编啊?能告诉一下么?谢谢~

如题所述

第1个回答  2010-12-21
你用什么编程啊?
就四个数,用冒泡排序就可以了。
如果double real[4]放这些实数,
for(int i = 0; i ++; i < 3){
for(int j = 3; j --; j>i){
if(real[j-1]< real[j])
double temp = real[j-1];
double real[j-1] = real[j];
double real[j] = temp;
}
}

之后按顺序输出real数组就可以了。本回答被网友采纳
第2个回答  2010-12-21
#include<stdio.h>
void main()
{int num[4];int i,j;int exchange;
printf("输入四个数:\n");
for(i=0;i<4;i++)
scanf("%d",&num[i]);
for(i=4;i>1;i--)
for(j=3;j>4-i;j--)
{if(num[j]>num[j-1])
exchange=num[j-1];
num[j-1]=num[j];
num[j]=exchange;
}
for(i=0;i<4;i++)
printf("%d\n",num[i]);
}

啊,突然发现你要的是实数,没事你换成float型就可以了。%d换成%f
第3个回答  2010-12-21
#include <stdio.h>
#define jh(x,y) {t=x;x=y;y=t;}
void sc(int x[],int n)
{
int i;
for(i=0;i<n;i++)
printf("%d ",x[i]);
printf("\n");
}
void px(int x[],int n)
{
int i,j,t;
for (i=1;i<n;i++)
for (j=0;j<n-i;j++)
if(x[j]<x[j+1])
{jh(x[j],x[j+1]);}
}
int main(void)
{
int n,i,x[10];
scanf("%d\n",&n);
for(i=0;i<n;i++)
{
scanf("%d",&x[i]);
}
px(x,n);
sc(x,n);
return 0;
}
相似回答