补充实验五

/*
假定输入的字符串中只包含字母和*号。
编写函数,实现:
除了字符串前导和尾部的*号之外,将串中其他*号全部删除。

在编写函数时,不得使用C语言提供的字符串函数。
例如,若字符串中的内容为****A*BC*DEF*G*******
删除后,字符串中的内容则应当是****ABCDEFG******
*/

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void fun(char *a) {
	/**ERROR******/
	int i=0;
	char *t = a, * f = a;
	char *q = a;

	while (*t)
		t++;
	t--;

	while (*t == '*')
		t--;

	while (*f == '*')
		f++;
	/***ERROR***/
	while (q <f) {
		a[i] = *q;
		q++;
		i++;
	}
	while (q < t) {
		/***ERROR**/
		if (*q != '*') {
			a[i] = *q;
			i++;
		}
		q++;
	}

	while (*q) {
		a[i] = *q;
		i++;
		q++;
	}
	/**ERROR**/
	a[i] = '\0';
}
int main() {
	char s[81];
	printf("Entre a string:\n");
	gets_s(s);
	/**ERROR**/
	fun(s);
	printf("The sting after deleted:\n");
	puts(s);

	system("pause");
	return 0;
}

  

猜你喜欢

转载自www.cnblogs.com/dzp2001/p/12048698.html