3.5
编写函数,去掉一个字符串(长度不超过80)中除头部和尾部空格外的所有空格,并编写主函数进行调用测试(即返回去掉空格后的字符串)。
注:字符串头部或尾部可能有多个空格。
样例输入:av dg , ,e ,
样例输出:avdg,e,
#include <stdio.h>
#include <string.h>//下使用了字符串处理库函数
int main()
{
char a[100], begin, end;//使用a[81]更加严谨
int i;
gets(a);//输入字符串a
for (i = 0; i <= strlen(a) - 1; i++)//求出从左到右第一个非空格位
{
if (a[i] != ' ')
{
begin = i;
break;//跳出if循环
}
}
for (i = strlen(a) - 1; i >= 0; i--)//求出从右到左第一个非空格位
{
if (a[i] != ' ')
{
end = i;
break;
}
}
for (i = 0; i <begin; i++)//输出字符串头部所有空格
{
printf(" ");
}
for (i = begin; i <= end; i++)//输出字符串中非空格单元
{
if (a[i] != ' ')
{
printf("%c", a[i]);
}
}
for (i = end + 1; i <= strlen(a) - 1; i++)//输出字符串尾部所有空格
{
printf(" ");
}
system("pause");
}