C语言。。急~!

来源:百度知道 编辑:UC知道 时间:2024/05/29 13:31:16
输入小于10个数的数组。从大到小排列。。我写的哪里错了。?
#include"stdio.h"

void main()

{
int i,j,k, n,a[10];

printf("Enter n:");

scanf("%d",&n);

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

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

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

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

{ if (a[i]<a[j])

k=a[i];

a[i]=a[j];

a[j]=k;}

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

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

}

#include"stdio.h"
void main()
{
int i,j,k, n,a[10];
printf("Enter n:");
scanf("%d",&n);
for(i=0;i<n;i++) //数组时是从0到n-1的,这里不能等于n
scanf("%d",&a[i]);
for(i=1;i<n;i++) //冒泡排序
for(j=0;j<n-i;j++)
{
if (a[j]<a[j+1]) //注意这里的{}要包括下面的整个交换
{
k=a[j];
a[j]=a[j+1];
a[j+1]=k;
}
}
for(i=0;i<n;i++)
printf("%d ",a[i]);
printf ("\n");
}