微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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;
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐