有人能看看错在哪里嘛。

练习c语言,想写一个用函数求10个数中最大值的位置,并用函数将这10个数降序排序的程序,但是一直错误。
findmax函数输出结果一直是4
后面的排序函数输出的结果变成了10个零。
#include<stdio.h>
void findmax(float data[]);
void sort(float data[]);
void showbubble(float data[]);
int main()
{
float data[10];
printf("Please input 10 characters:");
for(int i=0;i<=9;i++)
scanf("%d",&data[i]);
findmax(data);
sort(data);
showbubble(data);
return 0;
}
void findmax(float data[])
{
int i,j=0,t;
float max;
max=data[0];
for(i=0;i<10;++i)
{
if(max<data[i])
{
j=i;
max=data[i];
}
t=j+1;
}
printf("%d",t);
}
void sort(float data[])
{
float t;
for(int n=0;n<9;n++)
for(int i=0;i<9-n;i++)
if(data[i]<data[i+1])
{
t=data[i];
data[i]=data[i+1];
data[i+1]=t;
}
}
void showbubble(float data[])
{
printf("排序后;");
for(int i=0;i<10;i++)
printf("%f ",data[i]);
}

浮点数数组啊,不能用%d,要用%f
scanf("%f",&data[i]);
用%d输入浮点数的话,实际输入值全是0

findmax函数也不对,t=j+1不需要,最后输出i+1就可以了。t=j+1放在这里会每次循环都会执行啊