谁能帮我看看哪里错了啊,还有一个错啊

来源:百度知道 编辑:UC知道 时间:2024/06/25 01:43:48
#include<stdio.h>
void main()
{int flts(int x[10]);
int a[10],i,b[10],j;
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(j=0;j<10;j++) for(i=0;i<10;i++)
b[j]=flts(a[i]);
for(j=0;j<10;j++)
printf("%d",b[j]);
}
int flts(int x[10])
{int t,c,d;
for(c=0;c<9;c++)
for(d=0;d<9-c;d++)
if(x[d]>x[d+1])
t=x[d];
x[d]=x[d+1];
x[d+1]=t;
for(d=0;d<10;d++)
return(x[d]);
}
这道题是:写一个函数,用“起泡法”对输入的10个字符按有小到大的顺序排列,谁会也帮我写写啊,在线等啊

改了下,没错误了,至于算法正确与否我就不清楚了

是你的数组作为函数参数的时候,传递的是地址,是用数组名作为参数的

代码如下:

#include<stdio.h>
void main()
{
int flts(int x[10]);
int a[10],i,b[10],j;
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(j=0;j<10;j++)
for(i=0;i<10;i++)
b[j]=flts(a); //数组作为函数参数的时候是用数组名的
for(j=0;j<10;j++)
printf("%d",b[j]);
}
int flts(int x[10])
{int t,c,d;
for(c=0;c<9;c++)
for(d=0;d<9-c;d++)
if(x[d]>x[d+1])
t=x[d];
x[d]=x[d+1];
x[d+1]=t;
for(d=0;d<10;d++)
return(x[d]);
}

#include<stdio.h>
void main()
{int flts(int x[10]);
int a[10],i,b[10],j;
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(j=0;j<10;j++) for(i=0;i<10;i++)
b[j]=flts(a[i]);
for(j=0;j<10;j++)
printf("%d",b[j]);
}
int flts(int x[10]) <