c语言字符串_C语言字符串问题
从键盘中输入一串字符串(长度不超过80个字符),假定输入的字符串中只含有字母和数字,请将字符串中的前导数字全部移到字符串的尾部,中间的数字保持不变。可使用数组或指针实现,不能使用字符串复制函数。
最佳答案
#include<stdio.h>
int main()
{
char s[81], c;
int i, x, j, len;
scanf("%s", s);
x = len = 0;
///计算前导数字长度
while(((c = s[x++]) != '\0') && (c >= '0' && c <= '9'));
x--;
//计算串长
while(s[len++]!='\0');
len--;
if(x != len) //全数字情况忽略
for(i = 0; i < x; i++) //循环左移字串
{
c = s[0];
for(j = 0; j < len - 1; j++)
s[j] = s[j + 1];
s[len - 1] = c;
}
printf("%s\n", s);
return 0;
}
例样输入
123abc
输出
abc123
输入
123
输出
123
输入
abc
输出
abc
输入
1abc2def
输出
abc2def1
其他回答
暂无其它回答!