hz_king
hz_king
采纳率75%
2014-12-22 09:00 阅读 13.1k
已采纳

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

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

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

4条回答 默认 最新

  • 已采纳
    save4me 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]);
        }
    }
    
    点赞 1 评论 复制链接分享
  • caozhy 从今以后生命中的每一秒都属于我爱的人 2014-12-22 09:49
     #include <iostream> 
    
    
    
    using namespace std; 
    
    
    
    int main() 
    
    
    
    { 
    
    
    
     int a[10],i,j,k,temp; 
    
    
    
     cout<<"请输入10个数"<<endl; 
    
    
    
     for(i=0;i<10;i++) 
    
    
    
      cin>>a[i]; 
    
    
    
     for(i=0;i<9;i++) 
    
    
    
     { 
    
    
    
      k=i; 
    
    
    
      for(j=i+1;j<10;j++) 
    
    
    
       if(a[k]>a[j])  k=j; 
    
    
    
       if(k!=i) 
    
    
    
       { 
    
    
    
        temp=a[i]; 
    
    
    
        a[i]=a[k]; 
    
    
    
        a[k]=temp; 
    
    
    
       } 
    
    
    
     } 
    
    
    
     for(i=0;i<10;i++) 
    
    
    
      cout<<a[i]<<"   "; 
    
    
    
     cout<<endl; 
    
    
    
     return 0; 
    
    
    
    }
    
    点赞 2 评论 复制链接分享
  • h398085541 Tanky-黄 2014-12-22 09:09

    请问你是想要代码吗?
    你如果是学编程的建议自己搞

    点赞 1 评论 复制链接分享
  • HuiMengNiTian 小白马_521gyj 2014-12-22 09:14

    额! 怎么这么简单! 有很多的排序算法啊! 比如像:冒泡,插入都是一些排序的算法!查一下就知道了!

    点赞 1 评论 复制链接分享

相关推荐