使用VC++2010打开考生文件夹下progl中的解决方案。此解决方案的项目中包含一个源程序文件progl.c。在此程序中,规定输入的字符串中只包含字母和"*"。编写函数fun(),其功能是除了字符串前导和尾部的"*"外,将字符串中其他的"*"全部删除。形

admin2023-02-27  13

问题 使用VC++2010打开考生文件夹下progl中的解决方案。此解决方案的项目中包含一个源程序文件progl.c。在此程序中,规定输入的字符串中只包含字母和"*"。编写函数fun(),其功能是除了字符串前导和尾部的"*"外,将字符串中其他的"*"全部删除。形参h指向字符串中第一个字母,形参P指向字符串中最后一个字母。在编写函数时,不得使用c语言提供的字符串函数。
    例如,若字符串中的内容为"****A*BC*DEF*G********",删除后,字符串中的内容应当是"****ABCDEFG********"。
    注意:部分源程序给出如下。
    请勿改动主函数main()和其他函数中的任何内容,仅在函数fun()的花括号中填入你编写的若干语句。
  试题程序:
1 #include(stdio.h>
2 #include<conio.h>
3 #include<string.h>
4 void fun(char*a,char*h,char*p)
5 {
6
7 }
8 main()
9 {
10  char s[81],*t,*f;
11  printf("Enter a string:\n");
12  gets(s);
13  t=f=s;
14  while(*t)
15    t++;
16    t--;
17    while(*t=='*')
18    t--;
19    while(*f=='*’)
20    f++;
21    fun(s,f,t);
22    printf("The string after deleted:\n");
23    puts(s);
24  }

选项

答案 1 void fun(char*a,char*h,char*p) 2 { 3 int i=0; 4 char*q=a; 5 /*将前导"*"保存到a中*/ 6 while(q
解析 本题的重点是选择好判断条件。首先需要判断前导"*"的结束,然后判断是否指向最后一个字母,最后补充尾部"*",只要思路对了即可正确解答。
转载请注明原文地址:https://jikaoti.com/ti/nBoiFFFM
0

相关试题推荐
最新回复(0)