1,将字符串中间的数字移至字符串结尾,且不改变数字字符串与非数字字符串原有循序。
#include <stdio.h>
int main()
{
int i;
int j = 0;
int k = 0;
char s[80];
char t1[80];
char t2[80];
printf("The original string is:\n");
scanf("%s",s);
for(i = 0; s[i] != '\0';i++)
if(s[i] >= '0' && s[i] <= '9')
{
t2[j] = s[i];
j++;
}
else
{
t1[k++] = s[i];
}
}
t2[j] = 0;
t1[k] = 0;
for(i = 0;i < k;i++)
{
s[i] = t1[i];
}
for(i = 0;i < j;i++)
{
s[k + i] = t2[i];
}
printf("\nThe result is:%s\n",s);
return 0;
}
2,每三个字符插一个空格(error)
#include<stdio.h>
int main()
{
int i;
int k = 0;
char a[80];
char b[80];
printf("input a string:\n");
scanf("%s",a);
while(*p)
{
i = 1;
while(i <= 3 && *p)
{
b[k] = *p;
k++;
p++;
i++;
}
}
if(*p)
{
b[k] = '';
k++;
}
b[k] = '\0';
printf("\nThe string after insert space:%s",b);
return 0;
}