程序设计:move函数将字符串中的所有数字字符和小数点移到所有其他字符之后,并保持数字字符、小数点和其他字符原先的先后次序。
例如:原来字符串为"This5. is Dev-C++ 11",处理后为"This is Dev-C++ 5.11"。
源程序:
#include<stdio.h>
#include<string.h>
#include<math.h>
#include<ctype.h>
#include<stdlib.h>
void move(char a[],int len)
{
int i,j;
char c;
for(i=0;i<len;i++)
{
if(isdigit(a[i]) || a[i]=='.')//读取到数字或读取到小数点
{
c=a[i];//记录当前内容
for(j=i+1;j<strlen(a);j++)//空出
{
a[j-1]=a[j];//删除,替换
}
a[j-1]=c;//替换末尾
len--;//查找长度减小
i--;//从替换位置重新查找
}
}
}
int main()
{
char a[]="This5. is Dev-C++ 11";
int len=strlen(a);
move(a,len);
puts(a);
return 0;
}
Dev-C++运行结果: