问答题 请编写一个函数void fun(char a[],char b[],int n),其功能是:删除一个字符串中指定下标的字符。其中,a指向原字符串,删除指定字符后的字符串存放在b所指的数组中,n中存放指定的下标。
例如,输入一个字符串:World,然后输入3,则调用该函数后的结果为:Word。
注意:部分源程序在文件PROG1.C中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
【正确答案】
【答案解析】[解析] (1)该程序功能是删除一个字符串中指定下标的字符。它的解题思路,可以分解为以下两步:逐个判断字符串中的下标是否满足条件,满足条件的就放到题目要求的新串,否则就不放。
(2)从已给部分源程序的main主函数开始入手,核心函数“fun(str1,str2,n);”中的参数由题目可知,str1存放着原始字符串,str2存放删除了下标为n的字符的结果字符串,注意下标是从“0”开始的。
进入fun函数,根据前面的分析:
通过循环,对字符串a中各字符逐个考查,若该字符串下标p不等于输入的标志位n,那么就顺序放到新串b中,否则就不存放。
最后,对所有字符处理完后,要注意的就是在新字符串b的末尾加上串结束符'/0'。
[考点] 数组操作;if条件语句;for循环语句。