JSK-399 绝对值最小的数【大数】

绝对值最小的数
输入 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;
}

猜你喜欢

转载自www.cnblogs.com/tigerisland45/p/9752139.html