问题描述
从键盘输入一个字符串,将该字符串按下述要求处理后输出:
将ASCII码大于原首字符的各字符按原来相互间的顺序关系集中在原首字符的左边,
将ASCII码小于等于原首字符的各字符按升序集中在原首字符的右边。

输入说明
输入一行字符串,字符串c不长度超过100.

输出说明
输出处理后的一行字符串

输入样例
aQWERsdfg7654!@#$hjklTUIO3210X98aY

输出样例
sdfghjkla!#$0123456789@EIOQRTUWXYa

#include<stdio.h>
#include<string.h>
void order(char s2[]){
int i,j,len=strlen(s2);
char ch;
for (i = 0; i < len-1; i++) {
for (j = i; j < len; j++) {
if (s2[i] > s2[j]) {
ch = s2[i]; s2[i] = s2[j]; s2[j] = ch;
}
}
}
}
int main() {
char str[101]={0}, s1[99]={0}, s2[99]={0};
int i, k1 = 0, k2 = 0,len;
//gets(str);
scanf("%s",str);
len=strlen(str);
for (i = 1; i < len; i++) {
if (str[i] > str[0]) {
s1[k1] = str[i]; k1 += 1;
}
if (str[i] <= str[0]){
s2[k2] = str[i]; k2 += 1;
}
}
s1[k1] = 0; s2[k2] = 0;
printf("%s",s1);
printf("%c", str[0]);
order(s2);
printf("%s",s2);
return 0;
}

  在程序里的判断条件不能使用strlen()函数,因为该函数的返回值为unsigned int 与int比较或加减会出错,因为int第一位表示正负,而unsigned int八位都表示大小。正确的应定义int的变量a=strlen(),再在判断条件中使用该变量a而不是直接使用函数,这样就把unsigned转化为了int型

西电oj109题处理字符串的更多相关文章

  1. 杭电ACM题单

    杭电acm题目分类版本1 1002 简单的大数 1003 DP经典问题,最大连续子段和 1004 简单题 1005 找规律(循环点) 1006 感觉有点BT的题,我到现在还没过 1007 经典问题,最 ...

  2. ytu 1064: 输入三个字符串,按由小到大的顺序输出(水题,字符串处理)

    1064: 输入三个字符串,按由小到大的顺序输出 Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 471  Solved: 188[Submit][Sta ...

  3. poj 1007:DNA Sorting(水题,字符串逆序数排序)

    DNA Sorting Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 80832   Accepted: 32533 Des ...

  4. hdu 1106:排序(水题,字符串处理 + 排序)

    排序 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submissi ...

  5. 高手看了,感觉惨不忍睹——关于“【ACM】杭电ACM题一直WA求高手看看代码”

    按 被中科大软件学院二年级研究生 HCOONa 骂为“误人子弟”之后(见:<中科大的那位,敢更不要脸点么?> ),继续“误人子弟”. 问题: 题目:(感谢 王爱学志 网友对题目给出的翻译) ...

  6. 题解西电OJ (Problem 1007 -做一名正气的西电人 )--长整型计算

    Description 一天,wm和zyf想比比谁比较正气,但正气这种东西无法量化难以比较,为此,他们想出了一个方法,两人各写一个数字,然后转化为二进制,谁的数字中二进制1多谁就比较正气! Input ...

  7. Help Johnny-(类似杭电acm3568题)

    Help Johnny(类似杭电3568题) Description Poor Johnny is so busy this term. His tutor threw lots of hard pr ...

  8. WiFi-ESP8266入门http(3-4)网页一键配网(1若为普通wifi直连 2若为西电网页认证自动网页post请求连接)+网页按钮灯控+MQTT通信

    网页一键配网(1若为普通wifi直连  2若为西电网页认证自动网页post请求连接)+网页按钮灯控+MQTT通信 工程连接:https://github.com/Dongvdong/ESP8266_H ...

  9. 小甲鱼Python第十三讲课后题--014字符串

     字符串的方法及注释 capitalize()     把字符串的第一个字符改为大写     casefold()     把整个字符串的所有字符改为小写     center(width)      ...

  10. 杭电oj2093题,Java版

    杭电2093题,Java版 虽然不难但很麻烦. import java.util.ArrayList; import java.util.Collections; import java.util.L ...

随机推荐

  1. springcloud报springboot jar包不存在

    IDEA报Error:(4, 46) java: 程序包org.springframework.boot.autoconfigure不存在问题 打开Terminal 输入mvn -U idea:ide ...

  2. SPI接口(续一)

    SPI接口共涉及到11个寄存器,下面就来对它们进行具体分析. 先来看SPI配置寄存器CFG,下表是它的全部位结构,其地址分别为0x40058000(SPI0),0x4005C000(SPI1). (1 ...

  3. vuex记录

    vuex就是vue中管理状态的地方,控制着组件之间的数据: 5大核心,通常只要有state和mutation就能满足vuex最基本的需求 1.state 项目存放各种状态的地方 2.mutation ...

  4. 【C学习笔记】day2-2 不允许创建临时变量,交换两个数的内容(附加题)

    #include<stdio.h> int main() { int a=0, b=1; int m[2]; m[0] = a; m[1] = b; a = m[1]; b = m[0]; ...

  5. 记一次SpringBoot整合Redis的Bug

    SpringBoot整合Redis遇见的坑 <!--Redis配置开始--> <dependency> <groupId>org.springframework.b ...

  6. D. Steps to One

    题意 初始有一个空数组\(a\),接下来每次操作会这么做: 在\([1,n]\)中选择一个数,将其拼接在数组\(a\)后. 计算数组\(a\)的\(\gcd\). 如果结果是\(1\),退出. 否则, ...

  7. 如何使用C++代码实现1-100之间的素数

    #include "pch.h" #include <iostream> using namespace std; int main() { cout << ...

  8. Houdini_Python笔记

    目录 Gemetry 用Stash节点预览模型 判断文件是否存在 PDG Gemetry 用Stash节点预览模型 import hou stashParm = stashNode.parm(&quo ...

  9. 05 RDD练习:词频统计

    一.词频统计: 1.读文本文件生成RDD lines 2.将一行一行的文本分割成单词 words flatmap() 3.全部转换为小写 lower() 4.去掉长度小于3的单词 filter() 5 ...

  10. Leetcode本地阅读器开发--01界面设计二

    返回项目声明及目录:Leetcode本地阅读器开发--总声明 继续上一节内容: 1.第一个内容是左边第一行的功能,读取默认路径和修改路径.此路径为本地阅读器的搜索题目的主目录. 为了整个程序都能读取工 ...