输入5个数,让他们按从大到小列出来!

来源:百度知道 编辑:UC知道 时间:2024/07/02 08:54:41
turboc程序 输入5个数,让他们按从大到小列出来!

怎么编写这个程序啊
帮我看看我那里做错了

main()
{int i,j,a[5],max,p,s;
for(i=0;i<5;i++)
scanf("%d",a[i]);
for(i=0;i<5;i++)
{p-i; max=a[i];
for(j=i+1;j<=4;j++)
if(max<a[j])
{p=j;max=a[i];}
if(i!=p)
{s=a[i];a[i]=a[p];
a[p]=s;}
printf("%d",a[i]);
}

是输入5个数 让他们按从大到小的顺序列出来

兄弟初学吧,要继续加油哦
(其实我也在学^-^)

代码如下(简单选择法):

#include<stdio.h>
void main()
{
int i,j,a[5],temp,k;
for(i=0;i<5;i++)
scanf("%d",&a[i]);
for(i=0;i<5-1;i++)
{
temp=a[i];
k=i;

for(j=i+1;j<5;j++)
{
if(temp<a[j])
{
temp=a[j];
k=j;
}
}//取第i个数与之后其它数比较,大的话存入temp中,并计下最大的数的下标为k

if(k!=i)
{
a[k]=a[i];
a[i]=temp;
}//把最大的那个a[k]和a[i]交换,a[i]就比后面的每个数都大了

}//i取从0~n-2即可;

for(i=0;i<5;i++)
printf("%d ",a[i]);
printf("\n");

}
//scanf语句中不能用“a[i]”,应该改成&a[i]。

#include "stdio.h"
main()
{int i,j,a[5],s;
for(i=0;i<5;i++)
scanf("%d",&a[i]);
for(i=0;i<4;i++)
for(j=i+1;j<=4;j++)
{
if(a[i]<a[j])
{s=a[i];a[i]=a[j]; a[j]=s;}
} <