zoukankan      html  css  js  c++  java
  • ASCII码排序

    时间限制:3000 ms  |  内存限制:65535 KB
    难度:2
     
    描述
    输入三个字符(可以重复)后,按各字符的ASCII码从小到大的顺序输出这三个字符。
     
    输入
    第一行输入一个数N,表示有N组测试数据。后面的N行输入多组数据,每组输入数据都是占一行,有三个字符组成,之间无空格。
    输出
    对于每组输入数据,输出一行,字符中间用一个空格分开。
    样例输入
    2
    qwe
    asd
    样例输出
    
    
    
    
    
    
    e q w
    a d s
    关于上面输入输出的注意点:并不是说输入了组数n,随后全部输入n组数据后,才全部输出结果。
    实际要求样例如下:
    //指针
    #include <stdio.h>
    void swap(char *a, char *b);
    int main(int argc, char *argv[])
    {
        int i,num;
        char a,b,c;
        scanf("%d",&num);
        getchar();
    
    
        for(i=0;i<num;i++){
    
    
            scanf("%c%c%c",&a,&b,&c);
            getchar();
                if(a > b){
                    swap(&a,&b);
                }
                if(a>c){
                    swap(&a,&c);
                }
                if(b>c){
                    swap(&b,&c);
                }
            printf("%c %c %c
    ",a,b,c);
        }
        return 0;
    }
    
    
    void swap(char *a, char *b){
        char tmp;
        tmp = *a;
        *a = *b;
        *b = tmp;
    }

    //异或
    #include <stdio.h>
    void quickswitch(char *a, char *b);
    int main(int argc, char *argv[])
    {
        int i,num;
        char a,b,c;
        scanf("%d",&num);
        getchar();
    
    
        for(i=0;i<num;i++){
    
    
            scanf("%c%c%c",&a,&b,&c);
            getchar();
                if(a > b){
                    quickswitch(&a, &b);
                }
                if(a>c){
                    quickswitch(&a, &c);
                }
                if(b>c){
                    quickswitch(&b, &c);
                }
            printf("%c %c %c
    ",a,b,c);
        }
        printf("C
    ");
        return 0;
    }
    void quickswitch(char *a, char *b){
        *a ^= *b;
        *b ^= *a;
        *a ^= *b;
    }
    //C++
    #include <iostream>
    using namespace std;
    int main()
    {
        int num;
        char a,b,c;
        cin >> num;
        for(int i=0;i<num;i++){
            cin >>a>>b>>c;
                if(a > b){
                    swap(a,b);
                }
                if(a>c){
                    swap(a,c);
                }
                if(b>c){
                    swap(b,c);
                }
            cout<<a<<" "<<b << " "<<c<<endl;
        }
        return 0;
    }



  • 相关阅读:
    Mecanim分析
    Mecanim 动作复用示例
    Unity3D FPS帧数修改
    Unity游戏暂停之Update与FixedUpdate区别
    我对程序开发流程的理解
    Zygote进程【1】——Zygote的诞生
    Android之SDK、NDK、JNI和so文件
    Android的4种文件类型Java,class,dex,apk
    android系统架构解析
    Android ART运行时与Dalvik虚拟机
  • 原文地址:https://www.cnblogs.com/guxuanqing/p/5560201.html
Copyright © 2011-2022 走看看