【华为OJ平台练习题】Ascii码排序

//描述
//Lily上课时使用字母数字图片教小朋友们学习英语单词,每次都需要把这些图片按照大小(ASCII码值从小到大)排列收好。请大家给Lily帮忙,通过C语言解决。
//
//
//知识点	字符串
//运行时间限制	0M
//内存限制	0
//输入
//Lily使用的图片包括"A"到"Z"、"a"到"z"、"0"到"9"。输入字母或数字个数不超过1024。
//
//
//输出
//Lily的所有图片按照从小到大的顺序输出
//
//
//样例输入	Ihave1nose2hands10fingers
//样例输出	0112Iaadeeefghhinnnorsssv

#include <iostream>
using namespace std;
void Ascii_Sort(char* s)
{
	int lenS = strlen(s);
	for(int a = 0;a<lenS;a++)
	{
		for(int b = 0;b<lenS-a-1;b++)
		{
			if(s[b]>s[b+1])
			{
				char temp = s[b];
				s[b] = s[b+1];
				s[b+1] = temp;
				temp = NULL;
			}
		}
	}
		cout<<s<<endl;
}

int main()
{
	cout<<"输入一个字符串:";
	char s[30];
	cin.getline(s,30);
	Ascii_Sort(s);
	return 0;
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-31 14:37:42

【华为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];

【华为OJ平台练习题】

/* 描述: 输入整型数组和排序标识,对其元素按照升序或降序进行排序 接口说明 原型: void sortIntegerArray(Integer[] pIntegerArray, int iSortFlag); 输入参数: Integer[] pIntegerArray:整型数组 int iSortFlag:排序标识:0表示按升序,1表示按降序 输出参数: 无 返回值: void 输入 1.输入需要输入的整型数个数 2.输入数组组 3.输入排序标识 输出 输出排好序的数字 最后一个无空格 如下

【华为OJ平台练习题】求最大公共子串的个数和元素

1.原题是求出最大公共子串的个数即可 原理:利用二维矩阵排列的方式,将俩字符串进行比较 #include <iostream> #include <vector> using namespace std; int prcs_2Strs(const char* s1,const char* s2) { int maxSameLength = 0; int L1 = strlen(s1); int L2 = strlen(s2); if(L1==0 || L2==0) //判断字符串是

【华为OJ平台练习题】统计一段字符串中含有空格、英文、数字的个数

//统计一段字符串中含有空格.英文.数字的个数 #include <iostream> using namespace std; void processString(char* s) { int n = strlen(s); int kg=0; int shuzi=0; int yingwen=0; if(n>0) { for(int a=0;a<n;a++) { if(s[a]==' ') kg++; if(s[a]<='9'&&s[a]>='0')

【华为OJ平台练习题】求最后一个单词长度

//描述 //计算字符串最后一个单词的长度,单词以空格隔开. //知识点 字符串,循环 //运行时间限制 0M //内存限制 0 //输入 //一行字符串,长度小于128. //输出 //整数N,最后一个单词的长度. //样例输入 hello world //样例输出 5 #include <iostream> using namespace std; int countLastWordLength(char *s) { int counter=0; int lg = strlen(s); f

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 {