函数将数组元素按从小到大的顺序排序,主函数从键盘输入10个整数存入数组,调用函数后输出数组的元素。

#include"stdio.h"
void Sort(int a[],int n);
#define n 10
void Sort(int a[],int n)
{
int i,j,temp;
for(j=0;j<10;j++)
{
for(i=0;i<10-j;i++)
{
if(a[i]>a[i+1])
{
temp=a[i];
a[i+1]=temp;
}
}
}
}
int main()
{
int i,a[n];
printf("please enter 10 numbers:");
for(i=0;i<10;i++)
{
scanf("%d",&a[i]);
}
Sort(a,10);
printf("sorted numbers:\n");
for(i=0;i<n;i++)
{
printf("%d",a[i]);
}
return 0;
}
哪里错了,怎么改?求大神

这个不需要两个参数的,你这样改
把void Sort(int a[],int n) 改成 void Sort(int a[]);

main函数里面调用的时候你把那后面的10 去掉,你这是多余的
就OK了 。

#include<stdio.h>
#define N 10
void Sort(int a[])
{
int i,j,temp;
for(j=0;j<10;j++)
{
for(i=0;i<10-j;i++)
{
if(a[i]>a[i+1])
{
temp=a[i];
a[i+1]=temp;
}
}
}
}
int main()
{ int i,a[N];
printf("please enter 10 numbers:");
for(i=0;i<10;i++)
{
scanf("%d",&a[i]);
}
Sort(a);
printf("sorted numbers:\n");
for(i=0;i<N;i++)
{
printf("%d",a[i]);
}
return 0;
}
这是代码
温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答