📅  最后修改于: 2023-12-03 14:58:36.768000             🧑  作者: Mango
在n个整数中,找出绝对值最小的数,并输出该数的绝对值和原值。如果有多个绝对值相等的数,输出值最小的整数。要求用scanf输入,printf输出。
题目要求找出绝对值最小的数,并输出该数的绝对值和原值。因此,首先需要读入n个整数,并将它们的绝对值以及原值记录下来。然后,我们可以通过比较绝对值的大小来找到绝对值最小的数,并记录下对应的原值。
需要注意的是,如果有多个绝对值相等的数,输出值最小的整数。因此,在找到绝对值最小的数之后,还需要比较它们的值的大小,找到值最小的那个。
最后,按照题目要求输出结果即可。
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
int n, i, number, abs_min = 99999999, value_min = 99999999;
scanf("%d", &n);
for (i = 0; i < n; i++) {
scanf("%d", &number);
int abs_tmp = abs(number);
if (abs_tmp < abs_min) {
abs_min = abs_tmp;
value_min = number;
} else if (abs_tmp == abs_min && number < value_min) {
value_min = number;
}
}
printf("%d %d\n", abs_min, value_min);
return 0;
}
注意:由于题目要求用scanf输入,printf输出,因此需要包含stdio.h头文件。
此题要求用scanf输入,printf输出,并需要记录绝对值最小的数以及对应的原值。在实现时需要注意处理多个绝对值相等的情况,并按照题目要求输出结果。