OJ题——ASCII码排序

/*

* Copyright (c) 2014, 烟台大学计算机学院

* All rights reserved.

* 文件名称:test.cpp

* 作    者:李晓凯

* 完成日期:2015年 5 月 19 日

* 版 本 号:v1.0

*

* 问题描述:

* 输入描述:

* 程序输出:

*/

题目描述

输入三个字符后,按各字符的ASCII码从小到大的顺序输出这三个字符。

输入

输入数据有多组,每组占一行,有三个字符组成,之间无空格。

输出

对于每组输入数据,输出一行,字符中间用一个空格分开。

样例输入

qwe
asd
zxc

样例输出

e q w
a d s
c x z
代码:
#include <iostream>
#include <cstdio>
using namespace std;

int main()

{
    char a[3],t;
    int i,j;
    while(gets(a))
    {
        for(i=0; i<3; ++i)
            for(j=0; j<3; ++j)
                if(a[j]>a[j+1])
                {
                    t=a[j];
                    a[j]=a[j+1];
                    a[j+1]=t;
                }
        cout<<a[0]<<" "<<a[1]<<" "<<a[2]<<endl;
    }
    return 0;

}

学习总结:这个题目,好郁闷啊!,提交了好多次,最后终于成功了,就是不知道,为什么while(gets(a))和while(1){gets(a)这两种写法的后一种为什么会输出超限,跪求大神解答,同求运算更快,更有效的算法,谢过了。
时间: 2024-11-13 09:46:01

OJ题——ASCII码排序的相关文章

OJ刷题---ASCII码排序

题目要求: 输入代码: #include<iostream> #include<cstdio> using namespace std; int main() { char str[3],temp; int i,j; while(gets(str)) { for(i=0; i<3; i++) for(j=0; j<3; j++) if(str[j]>str[j+1])//字符串依然可以像数字一样排序 { temp=str[j]; str[j]=str[j+1];

2000 ASCII码排序

声明:从今天开始每天做一道杭电ACM题,锻炼思考能力. 2000  ASCII码排序 Problem Description 输入三个字符后,按各字符的ASCII码从小到大的顺序输出这三个字符. Input 输入数据有多组,每组占一行,有三个字符组成,之间无空格. Output 对于每组输入数据,输出一行,字符中间用一个空格分开. Sample Input qwe asd zxc Sample Output e q w a d s c x z #include<stdio.h> int mai

杭电 HDU ACM 2000 ASCII码排序

ASCII码排序 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 103963    Accepted Submission(s): 43442 Problem Description 输入三个字符后,按各字符的ASCII码从小到大的顺序输出这三个字符. Input 输入数据有多组,每组占一行,有三个字符组成,之间无空格. Output

ASCII码排序

ASCII码排序 时间限制:3000 ms  |  内存限制:65535 KB 难度:2 描述 输入三个字符(可以重复)后,按各字符的ASCII码从小到大的顺序输出这三个字符. 输入 第一行输入一个数N,表示有N组测试数据.后面的N行输入多组数据,每组输入数据都是占一行,有三个字符组成,之间无空格. 输出 对于每组输入数据,输出一行,字符中间用一个空格分开. 样例输入 3 qwe asd zxc 样例输出 e q w a d s c x z #include "stdio.h"void

字符串ASCII码排序

在对接第三方支付渠道的时候,第三方会要求参数按照ASCII码从小到大排序. 如下是渠道方有关生成签名规则的java代码示例: //初始化0010merkey.private文件: String merchantprivatekey; merchantprivatekey=PayCfg.getValue("0010merchantprivatekey"); // 将要签名的数据传给map TreeMap map = new TreeMap(); StringBuffer sbf = ne

ACM:ASCII码排序

ASCII码排序:http://acm.nyist.net/JudgeOnline/problem.php?pid=4 绝不重新造轮子. #include<iostream> #include<string> #include<algorithm> using namespace std; int main() { int n = 0; cin >> n; for (int i = 0; i < n; ++i) //多次测试 { string str;

hdu 2000 ASCII码排序

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2000 题目大意:按各字符的ASCII码从小到大的顺序进行排序 注意格式哦!输出时字符中间用一个空格分开 1 #include<stdio.h> 2 int main() 3 { 4 char a,b,c,t; 5 while(scanf("%c%c%c",&a,&b,&c)!=EOF) 6 { 7 getchar(); 8 if(a>b) 9 {

nyist 4 ASCII码排序

ASCII码排序 时间限制:3000 ms  |  内存限制:65535 KB 难度:2 描述 输入三个字符(可以重复)后,按各字符的ASCII码从小到大的顺序输出这三个字符. 输入 第一行输入一个数N,表示有N组测试数据.后面的N行输入多组数据,每组输入数据都是占一行,有三个字符组成,之间无空格. 输出 对于每组输入数据,输出一行,字符中间用一个空格分开. 样例输入 3 qwe asd zxc 样例输出 e q w a d s c x z error #include<stdio.h>int

C# 参数签名字符串按 ASCII码排序,注意其中的坑

参数签名中通常是按键值对中键名称的ASCII按从小到大的顺序排序后进行hash为签名字符串.不要直接使用 SortedDictionary<string, string> 有坑的,他是按数字.小写字母.大写字母的顺序排的,实际规则应该是数字.大写字母.小写字母的顺序来排才对.一直使用他在支付宝和微信的接口中都没问题,因为支付宝和微信的单词是用下划线分隔的,今天接入的一家支付公司用的驼峰命名法坑就出现了.正确的打开姿势如下: /// <summary> /// ASCII值排序 //