绝对值最小的数
输入 10 个数,找出其中绝对值最小的数,将它和最后一个数交换。
输入格式
输入一行包括 10 个绝对值不超过 1000 的整数。
输出格式
输出 10 个交换后的整数,答案输出在一行。
样例输入
10 2 30 40 50 60 70 80 90 100
样例输出
10 100 30 40 50 60 70 80 90 2
问题链接:JSK-399 绝对值最小的数
问题描述:(略)
问题分析:
这是一个求最值问题,把所有数看一遍就可以找出来了。
程序说明:
求绝对值的函数abs()的原型在stdlib.h中,也可以自己写一个宏定义来实现。
参考链接:(略)
题记:能用库函数则用库函数。
AC的C语言程序如下:
/* JSK-399 绝对值最小的数 */
#include <stdio.h>
#include <stdlib.h>
#define N 10
int a[N];
int main(void)
{
int index, i;
// 读入数据,找绝对值最小的数
index = 0;
for(i = 0; i < N; i++) {
scanf("%d", &a[i]);
index = (abs(a[i]) < abs(a[index])) ? i : index;
}
// 交换数据
int tmp = a[index];
a[index] = a[N - 1];
a[N - 1] = tmp;
// 输出结果
printf("%d", a[0]);
for(i = 1; i < N; i++)
printf(" %d", a[i]);
printf("\n");
return 0;
}