一个很简单的实现:
#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;
}