C语言编程100题-4.5

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");
}

猜你喜欢

转载自blog.csdn.net/nollysoul/article/details/89762036