标题:输入10到15个数字按最大最小第二大第二小第三大第三小……输出
取消只看楼主
wuxiami
Rank: 1
等 级:新手上路
帖 子:44
专家分:0
注 册:2022-7-17
结帖率:100%
已结贴  问题点数:20 回复次数:2 
输入10到15个数字按最大最小第二大第二小第三大第三小……输出
#include <stdio.h>



int main()
{
    int n = 0, shuzu[20];
    int num[20];

    printf("请输入数字:");
    while (scanf_s("%s", &num, 100))
    {
        if (!strcmp(num, "ok") || !strcmp(num, "OK"))   //strcmp函数   比较函数,  #include <string.h> // strcmp()函数头文件
        {
            break;
        }
        shuzu[n] = atoi(num);    //atoi函数           #include<stdlib.h> // atoi()函数头文件
        n = n + 1;                //输入一个数字  n+1
    }
    int temp, i;
    for (i = 0; i < n-1  ; i++)         //因为数组两两比较,第一层循环中最后一个为数组倒数第二个
    {
        for (int j = i + 1; j < n; j++)////因为数组两两比较,第二层循环中每一个都是第一层循环数字后一个开始
        {
            if (shuzu[i] < shuzu[j])
            {
                temp = shuzu[i];
                shuzu[i] = shuzu[j];
                shuzu[j] = temp;
            }
        }
    }
    printf("排序后:");
    for (i = 0; i < n / 2; i++)
    {
        printf("%d ", shuzu[i]);
        printf("%d ", shuzu[n - i - 1]);
    }
    if (n % 2 == 1)
    {
        printf("%d ", shuzu[i]);
    }
    return 0;
}

大佬们输出不正确,不知道哪里问题
搜索更多相关主题的帖子: num 函数 输入 int printf 
2022-08-22 21:41
wuxiami
Rank: 1
等 级:新手上路
帖 子:44
专家分:0
注 册:2022-7-17
得分:0 
回复 2楼 rjsp
请输入数字:0 1 2 3 4 5 6 7 8 9
ok
排序后:9 -16843010 8 -16843010 7 -16843010 6 3 5 4

这个是输入输出
最后还引发异常Run-Time Check Failure #2 - Stack around the variable 'num' was corrupted.
2022-08-22 22:58
wuxiami
Rank: 1
等 级:新手上路
帖 子:44
专家分:0
注 册:2022-7-17
得分:0 
多谢大佬
2022-08-25 11:44



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-509851-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.733509 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved