编程题

假定输入的字符串中只包含字母和*号。请编 写函数fun,它的功能是使字符串的前导*号不得多 于n个;若多于n个,则删除多余的*号;若少于 或等于n个,则什么也不做,字符串中间和尾部的 *号不删除。函数fun中给出的语句仅供参考。
例如,字符串中的内容为*******A*BC*DEF*G**** ,若 n 的值为 4,删除后, 字符串中的内容应当是***A*BC*DEF*G**** ; 若n的值为8,则字符串中的内容仍为*******A*BC*DEF*G****。n的值在主函数中输入。 在编写函数时,不得使用C语言提供的字符串函数。
注意:部分源程序保存在文件PROG1.C中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入编写的若干 语句。
给定源程序如下。

【正确答案】

【答案解析】

找到前面几个*号,赋值给k,然后判断k如 果大于n,向后移动,从k开始重新赋值给n的位 置,直到字符串结束,最后为修改后的字符串赋结 束字符'\0'。