定义两个字符数组char a[50],b[50],输入一串字符串(不会是空串)存放于a数组中,将字符串中所有数字字符顺序前移,其他字符顺序后移。并将新字符串存放于b数组中,并输出。数字的ASCII码范围为48到57。
输入格式:
输入一个字符串。
输出格式:
输出数字字符前移后的字符串
输入样例:
asd123fgh5##43df
输出样例:
123543asdfgh##df
正确答案:
#include<stdio.h>
#include<string.h>
int main()
{
char a[50],b[50];
gets(a);//注意不要用scanf函数,因为无法读取空字符
int len=strlen(a);
int j=0;
for(int i=0;i<len;i++)
{
if(a[i]>='0'&&a[i]<='9')
{
b[j]=a[i];
j++;
}
}
for(int i=0;i<len;i++)
{
if(a[i]>='0'&&a[i]<='9');
else
{
b[j]=a[i];
j++;
}
}
for(int i=0;i<len;i++)
{
printf("%c",b[i]);
}
return 0;
}