排序 自己选择是从小到小还是从小到大排序。

#include "Head.c"
void main()             /*排序*/
{
        int num[10];
        int i,j;

        void DESC();
        void ASC();

        printf("请输入十个数字。/n");

        for( i = 0 ; i < 10 ; i++)
        {
                printf("请输入第%d个数:", i + 1);
                scanf("%d",&num[i]);
        }//End for;记录刚才输入的十个数。

        printf("请选择倒序(D)、顺序(A)、退出(E)。:");

        char ch='D' ;
        for(;;)
        {
                do{
                        ch = toupper(getchar());                /*获取键盘输入的字符*/
                }while(ch != 'D' && ch != 'A' && ch != 'E');

                switch(ch)
                {
                        case 'D':
                                printf("你输入的是倒序 %c/n",ch);
                                DESC(num);
                                break;
                        case 'A':
                                printf("你输入的是顺序显示 %c/n",ch);
                                ASC(num);
                                break;
                        case 'E':
                                exit(0);
                                break;
                }

        }      
       
}//End main();

void ASC(int num[])
{
        int i,j;
        int temp;       /*中间存取变量*/
        for(i = 0 ; i < 9 ; i++)                /*开始进行排序操作*/
        {
                for( j = i + 1 ; j < 10 ; j++)
                {
                        if( num[i] > num[j] )
                        {
                                temp = num[i] ;
                                num[i] = num[j] ;
                                num[j] = temp ;
                        }//End if;
                }//End for;
        }//End for;
/*        for(i = 0 ; i < 10 ; i++)
        {
                printf("%d/n",num[i]);
        }//End for;从小到大打印出来。a*/

        void PrintfNumber();

        PrintfNumber(num);
}//End ASC;

void DESC(int num[])
{
        int i,j;
        int temp;       /*中间存取变量*/
        for(i = 0 ; i < 9 ; i++)                /*开始进行排序操作*/
        {
                for( j = i + 1 ; j < 10 ; j++)
                {
                        if( num[i] < num[j] )
                        {
                                temp = num[i] ;
                                num[i] = num[j] ;
                                num[j] = temp ;
                        }//End if;
                }//End for;
        }//End for;
/*        for(i = 0 ; i < 10 ; i++)
        {
                printf("%d/n",num[i]);
        }//End for;从小到大打印出来。a*/

        void PrintfNumber();
        PrintfNumber(num);
}//End DESC;

/*打印出数字来*/
void PrintfNumber(int num[])
{
        int i;
        for(i = 0 ; i < 10 ; i++)
        {
                printf("%d/n",num[i]);
        }//End for;
}//End PrintfNumber(); 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值