求各位兄弟帮我看一下这个C语言程序,我不会写顺序那块

img

一个很简单的实现:


#include <stdio.h>
int absolute(int num);

int main(void){
    
    //1、定义六个变量a、b、c、a2、b2、c2,用于存储原始的三个输入的整数和求绝对值后的三个整数
    int a,b,c,a2,b2,c2;
    
    //2、获取三个整数,分别存放到变量a、b、c。
    scanf("%d %d %d",&a,&b,&c);
    
    //3、用获取到的三个数a、b、c创建初始化一个整数数组arr1
    int arr1 [3] = {a,b,c};
    
    //4、创建一个求整数绝对值的函数,用这个函数分别求取a、b、c三个数的绝对值存放到a2、b2、c2
    a2 = absolute(a);
    b2 = absolute(b);
    c2 = absolute(c);
    
    //5、用a2、b2、c2创建并初始化整数数组arr2.
    int arr2[3] ={a2,b2,c2};
    
    //6、定义两个变量j,k分别用于存放绝对值最大的下标和循环计数,初始化j为0 
    int j,k;
    j = 0;
    //7、用一个循环求取绝对值最大的下标j
    for(k=j+1;k<3;k++){
        if(arr2[k]>arr2[j]){
            j=k;
        }
    }
    //8、打印这个绝对值最大的数。
    printf("%d\n",arr1[j]);
    
}

//求一个整数的绝对值 
int absolute(int num){
    
    if(num>=0)
        return num;
    else 
        return -num;
}

只要你判断条件是>,比较的时候从前往后比较,顺序条件就可以达成了


#include <stdio.h>
#include <math.h>
int main()
{
    int a[3];
    scanf("%d %d %d",&a[0],&a[1],&a[2]);
    int maxi = abs(a[1])>abs(a[0])?1:0;
    maxi = abs(a[2])>abs(a[maxi])?2:maxi;
    printf("%d",a[maxi]);
   return 0;
}