别看我只是一只羊


私信TA

用户名:bkwzsyzy

访问量:3853

签 名:

等  级
排  名 2332
经  验 2277
参赛次数 1
文章发表 23
年  龄 0
在职情况 学生
学  校
专  业

  自我简介:

解题思路:

① 将if(a[j]<a[k]) 改成if(fabs(a[j])>fabs(a[k]))

参考代码:

#include<stdio.h>
#include<math.h>
void selectsort(int a[],int n);
int main()
{
    int n;
    while(scanf("%d",&n)!=EOF){
        
        int a[n];
	for(int i=0;i<n;i++)scanf("%d",&a[i]);

	selectsort(a,n);
	for(int i=0;i<n;i++)printf("%d ",a[i]);
	printf("\n");
    }
}


void selectsort(int a[],int n){
     for(int i=0;i<n;i++){
        int k=i;
       // printf("%d ",k);
        for(int j=i+1;j<n;j++)
           // printf("%d %d %d\n",k,j,i);
            if(fabs(a[j])>fabs(a[k]))
                k=j;
                //printf("%d %d %d\n",k,j,i);
          
            
                int x=a[i];
                a[i]=a[k];
                a[k]=x;
                //  printf("%d %d %d %d\n",k,j,i,a[i]);
        
       
    }
}


 

0.0分

0 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换

万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区