利用函数调用对n个数升序排序(请各位指点下)

Gangelwn 2008-06-02 08:03:23
#include "stdio.h"
#define N 32767
void sort(int a[],int n)
{
int i,j,cup;
for(i=0;i<n-1;i++)
for(j=0;j<n-1-i;j++)
if(a[j]>a[j+1])
{ cup=a[j];
a[j]=a[j+1];
a[j+1]=cup;
}
for(i=0;i<n;i++)

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


}
void main()
{
int i,n,a[N];


printf("input n:");
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d",a[i]);
sort(a,n);


}
不知道哪里错了,得不到结果。。。
谢谢~~
...全文
175 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
baihacker 2008-06-02
  • 打赏
  • 举报
回复
你那个是比较老的做法了,请使用现在的做法
Gangelwn 2008-06-02
  • 打赏
  • 举报
回复
嗯,那个是我漏掉了。。。本来那里没漏的,,不知道刚才复制代码时掉了
#include "stdio.h"
#define N 100
void sort(int a[],int n)
{
int i,j,cup;
for(i=0;i<n-1;i++)
for(j=0;j<n-1-i;j++)
if(a[j]>a[j+1])
{ cup=a[j];
a[j]=a[j+1];
a[j+1]=cup;
}
for(i=0;i<n;i++)

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


}
void main()
{
int i,n,a[N];
printf("input n:");
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
sort(a,n);
}
以前编这个的时候不知道哪里搞错了,晕,,,现在好了
void sort(int a[],int n)这行里的int n 中的int不能省去啊,要是在下面定义int n

void sort(int a[], n)
{
int n,i,j,cup;
程序则出错
Gangelwn 2008-06-02
  • 打赏
  • 举报
回复
嗯,那个是我漏掉了。。。本来那里没漏的,,不知道刚才复制代码时掉了
#include "stdio.h"
#define N 100
void sort(int a[],int n)
{
int i,j,cup;
for(i=0;i<n-1;i++)
for(j=0;j<n-1-i;j++)
if(a[j]>a[j+1])
{ cup=a[j];
a[j]=a[j+1];
a[j+1]=cup;
}
for(i=0;i<n;i++)

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


}
void main()
{
int i,n,a[N];
printf("input n:");
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
sort(a,n);
}
以前编这个的时候不知道哪里搞错了,晕,,,现在好了
void sort(int a[],int n)这行里的int n 中的int不能省去啊,要是在下面定义int n

void sort(int a[], n)
{
int n,i,j,cup;
程序则出错
mrjia 2008-06-02
  • 打赏
  • 举报
回复
飞雪干什么都快~
9527他大爷 2008-06-02
  • 打赏
  • 举报
回复
scanf("%d", &a[i]);
bitxinhai 2008-06-02
  • 打赏
  • 举报
回复
scanf("%d",a[i]);
应该是&a[i]
baihacker 2008-06-02
  • 打赏
  • 举报
回复
void main() 
{
int i,n,a[N];


printf("input n:");
scanf("%d",&n);
for(i=0;i <n;i++)
scanf("%d",&a[i]); //少了一个&
sort(a,n);
}

69,382

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧