这段代码没起作用
for(i=0;i
a[i]=b[j];
你试试这组数据
45 -23 2 -5 4 12 67 3 0 9
我的建议是你直接对绝对值排序 而不是求出绝对值再排序 就像一楼那样
像我这样 按照你的思想改的
#include "stdio.h"
void main()
{
int a[100],b[100],i,j,n,t;
scanf("%d",&n);
while(n!=0)
{
for(i=0;i
for(i=0;i
b[i]=a[i];
if(a[i]<0)
a[i]=-a[i];
}
for(i=0;i
a[j]=a[j+1];
a[j+1]=t;
t=b[j];//相应的也交换
b[j]=b[j+1];
b[j+1]=t;
}
/* for(i=0;i
a[i]=b[j];*/
for(i=0;i
printf("%d\n",b[i]);
for(i=0;i<=n;i++)
a[i]=b[i]=0;
scanf("%d",&n);
t=0;
}
}
#include "stdio.h"
int abs(int num)
{
return num>0?num:-num;
}
void main()
{
int a[100],i,j,n,t;
scanf("%d",&n);
while(n!=0)
{
for(i=0;i
scanf("%d",&a[i]);
}
for(i=0;i
for(j=0;j
if(abs(a[j])
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
}
for(i=0;i
printf("%d ",a[i]);
}
printf("%d\n",a[i]);
scanf("%d",&n);
}
}
改为这样
我已经把那些没用的去掉了
#include
"stdio.h"
int
abs(int
num)
{
return
num>0?num:-num;
}
void
main()
{
int
a[100],i,j,n,t;
scanf("%d",&n);
while(n!=0)
{
for(i=0;i
scanf("%d",&a[i]);
}
for(i=0;i
for(j=0;j
if(abs(a[j])
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
}
for(i=0;i
printf("%d
",a[i]);
}
printf("%d\n",a[i]);
scanf("%d",&n);
}
}
改为这样
我已经把那些没用的去掉了
这段代码没起作用
for(i=0;i
a[i]=b[j];
你试试这组数据
45
-23
2
-5
4
12
67
3
0
9
我的建议是你直接对绝对值排序
而不是求出绝对值再排序
就像一楼那样
像我这样
按照你的思想改的
#include
"stdio.h"
void
main()
{
int
a[100],b[100],i,j,n,t;
scanf("%d",&n);
while(n!=0)
{
for(i=0;i
for(i=0;i
b[i]=a[i];
if(a[i]<0)
a[i]=-a[i];
}
for(i=0;i
a[j]=a[j+1];
a[j+1]=t;
t=b[j];//相应的也交换
b[j]=b[j+1];
b[j+1]=t;
}
/*
for(i=0;i
a[i]=b[j];*/
for(i=0;i
",b[i]);//改成b
printf("%d\n",b[i]);
for(i=0;i<=n;i++)
a[i]=b[i]=0;
scanf("%d",&n);
t=0;
}
}