冒泡排序:编程实现从键盘输入5个数据,对这5个数据进行从大到小排序并输出。我这个程序错在哪里?

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

#include
#include
void print(int *a,int n);
void paixu(int *a,int n);
void main()
{
int a[10];
int i;
printf("请输入10个整数:");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
paixu(a,i);//排序
print(a,i);//输出
}
int swap(int *a,int *b)//交换
{
int t;
t=*a;
*a=*b;
*b=t;
}
//冒泡排序,从大到小
void paixu(int *a,int n)
{
int i,j=0,k;
printf("==========从大到小排序后=========\n");
for(i=0;i<n-1;i++)
{
for(j=1;j<n-i;j++)
if(a[j-1]<a[j])
swap(&a[j],&a[j-1]);
}
}
void print(int *a,int n)
{
int i;
for(i=0;i<n;i++)
printf("%d ",*(a+i));
printf("\n");
}
//程序在VC++6.0里编译运行通过,不懂的可追问哦。
温馨提示:答案为网友推荐,仅供参考