问题描述
从键盘输入一个字符串,将该字符串按下述要求处理后输出:
将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. pgsql 数据库密码登录配置

    一.postgreSQL认证文件 pg_hba.conf 配置文件pg_hba.conf的位置,通常情况下的路径是 /etc/postgresql/[VERSION]/main/pg_hba.conf ...

  2. 钉钉-E应用开发初体验(企业内部应用)

    首先要创建应用,如何创建参考 https://open-doc.dingtalk.com/microapp/bgb96b/gt5d6a 下载 钉钉E应用服务端demo   git clone http ...

  3. 集群笔记-fence

    fence机制: 隔离主机到存储的连接 配置fence_xvm步骤 KVM fence 请问物理机器需要真实的fence 设备吗? 否 一.将物理机器(宿主机)f0配置成fence设备 1. 安装fe ...

  4. zookeeper设置开机自启

    开机自启:(1)编辑zookeeper.service文件 vim /usr/lib/systemd/system/zookeeper.service 加入如下内容复制代码[Unit]Descript ...

  5. Jupyter Notebook基本配置与使用

    Jupyter Notebook,原名IPython Notbook,是IPython的加强网页版,一个开源Web应用程序 1.创建虚拟环境 mkvirtualenv ai 2.进入虚拟环境 work ...

  6. 网络编程之 urllib 模块

    首先urlib并不是一个很好用的方法,这里仅作简单介绍.一般我们用requests方法来代替urlib方法. 1. get请求 1 from urllib import request 2 url = ...

  7. 作业三:CART回归树

    作业三:CART回归树 20大数据三班 博客链接 学号 201613336 问题一: 表1为拖欠贷款人员训练样本数据集,使用CART算法基于该表数据构造决策树模型,并使用表2中测试样本集确定剪枝后的最 ...

  8. 简单a+b

    1 # include <stdio.h> 2 3 /*输入两个整数a和b,计算a+b的和 4 注意此题是多组测试数据 */ 5 6 // 我的解法 7 void main(){ 8 in ...

  9. 05 RDD练习:词频统计

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

  10. kubectl工具安装指南

    kubectl是一个用于连接Service Mesh控制平面的工具,可以安装在办公电脑的Windows系统上,也可以安装在虚拟机的Linux系统上,只要网络能与控制平面的公网地址互通即可.下面分别介绍 ...