hz_king 2014-12-22 09:00 采纳率: 50%
浏览 13919
已采纳

编写程序,从键盘输入10个int类型数,按从小到大顺序进行排序,然后输出

编写程序,从键盘输入10个int类型数,按从小到大顺序进行排序,然后输出。要求用函数sort()进行排序, 用函数input()输入数据,用函数output()输出数据。
(1) 主函数定义数组a[N],N定义为10
(2) 函数声名:
(3) 主函数调用函数实现程序功能。
(4) 函数定义

  • 写回答

4条回答 默认 最新

  • save4me 2014-12-23 01:02
    关注

    下面的代码考虑输入的是否是整数

    #include<stdio.h>
    
    #define N 10
    
    void input();
    void sort();
    void output();
    
    void main()
    {
        int a[N];
    
        input(a, N);
    
        sort(a, N);
        output(a, N);
    
        getch();
    }
    
    void input(int *a, int n)
    {
        int i = 0;
        char c;
    
        printf("\nEnter the %d of numbers: ", n);
    
        for (i = 0; i < n; i++)
        {
            printf("Please input number %d : ", i + 1);
    
            while(scanf("%d", &a[i]) != 1)
            {
                scanf("%s", &a[i]);
                printf("Sorry, [%s] is not a number. Please input number %d : ", &a[i], i);
            }
        }
    }
    
    void sort(int *a, int n)
    {
        int i, j, temp;
    
        for(i = 0; i < n; i++)
        {
            for(j = i; j < n; j++)
            {
                if(a[i] > a[j])
                {
                    temp = a[i];
                    a[i] = a[j];
                    a[j] = temp;
                }
            }
        }
    }
    
    void output(int *a, int n)
    {
        int i;
    
        printf("\nSorted array:");
        for(i = 0; i < n; i++)
        {
            printf("\t%d",a[i]);
        }
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?