每日acm水题之字符串里字母数字排序
2016-12-21 17:45
190 查看
代码是百度的,题目大意是输入一个字符串,让里面的字符在前数字在后不改变原有字符和数字顺序,
#include<stdio.h>
#include<string.h>
int main()
{
char s[100],c[100],a[100];
int i,x,y,n;
scanf("%s",s);
x=0;
y=0;
n=strlen(s);
for(i=0; i<n; i++)
{
if((s[i]>='a'&&s[i]<='z')||(s[i]>='A'&&s[i]<='Z'))
a[x++]=s[i];
if(s[i]>=48&&s[i]<=57)
c[y++]=s[i];
}
a[x]='\0';
c[y]='\0';
printf("%s%s\n",a,c);
}
唉,别人的代码都是一次性过,我原本思路是用isapha和isdigit判断然后输出,,,,,但是貌似学艺不精这两个东西只看学长用过,也许思路就是错的,,结果输出的是笑脸乱码。
最后如果不加‘\0',在codeblocks上运行是没有任何错误的但是提交可能就是答案错误,,,,,,原因百度上说字符串是要有结束标志的。
#include<stdio.h>
#include<string.h>
int main()
{
char s[100],c[100],a[100];
int i,x,y,n;
scanf("%s",s);
x=0;
y=0;
n=strlen(s);
for(i=0; i<n; i++)
{
if((s[i]>='a'&&s[i]<='z')||(s[i]>='A'&&s[i]<='Z'))
a[x++]=s[i];
if(s[i]>=48&&s[i]<=57)
c[y++]=s[i];
}
a[x]='\0';
c[y]='\0';
printf("%s%s\n",a,c);
}
唉,别人的代码都是一次性过,我原本思路是用isapha和isdigit判断然后输出,,,,,但是貌似学艺不精这两个东西只看学长用过,也许思路就是错的,,结果输出的是笑脸乱码。
最后如果不加‘\0',在codeblocks上运行是没有任何错误的但是提交可能就是答案错误,,,,,,原因百度上说字符串是要有结束标志的。
相关文章推荐
- ACM--字母个数--HDOJ 1860--统计字符--字符串
- 每日ACM小练习 2013年11月6日(水题)
- ACM程序设计书中题目--z(两组字符串中单词的首字母是否相同)
- java 每日习题(七)统计字符串中字母、空格、数字和其它字符的个数
- ACM--字母反转--HDOJ 1062--Text Reverse--字符串
- ACM--字母序列--HDOJ 1020--Encoding--字符串
- ACM--字母增加--HDOJ 1328--IBM Minus One--字符串
- ACM水题--字符串的前缀和后缀
- 每日ACM小题--POJ1006——中国剩余定理的完美诠释 2013年11月04(附录POJ_1005水题一枚)
- ACM--字母排序--HDOJ 1379--DNA Sorting--字符串
- Java 实训3-4 输入一个字符串 如果第一个字母为小写 则大写整个字符串否则提示出错
- 获取字符串汉字首字母,兼容GBK和UTF-8
- 用c语言编程 统计输入的一个字符串中每个字母出现的次数
- ORACLE按字母顺序排列字符串
- 求两个字符串去掉重复字母后所包含字符
- UVA 537 字符串中的公式计算字母识别
- 匹配的只是第一个字符串的首字母
- acm字符串替换
- 给定一个字符串,仅由a,b,c 3种小写字母组成。
- C#取出字符串中的数字或字母