ACM绝对值排序问题,为什么出现ACCESS_VIOLATION错误啊?
发布网友
发布时间:2022-04-24 13:56
我来回答
共1个回答
热心网友
时间:2023-10-15 08:48
#include<stdio.h>
#include<math.h>
main()
{
int n,i,j,k,t,h;
int a[102];
while(scanf("%d",&n)!=EOF&&(n!=0))
{
for(i=1;i<=n;i=i+1)
{
scanf("%d",&a[i]); // 读取的时候需要取地址
}
for(j=1;j<=n;j=j+1)
{
for(k=1;k<=n-1;k=k+1) // k只能到n-1
{
if(abs(a[k])<abs(a[k+1]))
{
t=a[k];
a[k]=a[k+1];
a[k+1]=t;
}
}
}
for(h=1;h<=n;h=h+1)
{
if(h==1) {printf("%d",a[h]);}
if(h>1&&h<n) {printf(" %d",a[h]);}
if(h==n) {printf(" %d\n",a[h]);}
}
}
}追问谢谢您啦,今天在ACM刷题,还有个题遇到点小问题,挺棘手的,能不能再稍微帮帮忙啊,谢谢哈!!
地址是:http://zhidao.baidu.com/question/427345014.html?quesup2&oldq=1