C语言数组——交换位置

数组:交换位置

找到数组中最小的元素,并与数组首个元素交换位置。如果有多个最小元,取数组中首次出现的交换
输入样例
4
1 -6 3 -6

输出样例
-6 1 3 -6

??这里你们应该觉得这写的什么玩意 ,这么复杂,没办法 ,那是我第一次写博客,水平也低 ,只能说这是自己最最最朴素的写法啦 ,见笑了 ,想删掉又觉得太可惜 ,就留在这了 ,
那这题 可以直接找到最小元的位置,用个c++swap一下就可以了~~

**#include  <stdio.h>
int main()
{
    int a[100], n, i, j;
    scanf("%d", &n);
    for (i = 0; i < n; i++)//循环输出数值
    {
        scanf("%d", &a[i]);
    }
    int min = a[0];
    for (i = 1; i <= n - 1; i++)//循环判断大小
    {
        if (a[i] < min)
        {
            min = a[i];
            j = i;
            // 如果有多个最小元,取数组中首次出现的交换。什么意思?不是以第一次出现替换吗
        }
    }
    int t = a[0];
    if (min != a[0])//分情况来:1.a一直最小就原样输出,2::不然交换顺序输出
    {
        a[0] = min;
        a[j] = t;
        for (i = 0; i <= n - 1; i++)##
        {
            printf("%d ", a[i]);
            continue;
        }
    }
    else
    {
        for (i = 0; i <= n - 1; i++)
            printf("%d ", a[i]);
    }
    return 0;
}**
  • 9
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

DongGu.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值