标题:各路神仙帮帮忙,有个问题偶怎么都想不通
取消只看楼主
雪蓝
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2010-8-23
结帖率:0
已结贴  问题点数:20 回复次数:0 
各路神仙帮帮忙,有个问题偶怎么都想不通
假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是使字符串中前面的*号不得多于n个,若多于n个,则删除多余的*号,若少于或等于n个,则什么也不做,字符串中间和尾部的*号不删除。
例如:字符串中的内容为****A*BC*DEF*G*******。若n的值为2,删除后,字符串中的内容则应当是**A*BC*DEF*G*******。


下面是我写的程序:
#include <stdio.h>
#include <conio.h>
void fun (char *a,int n)
{char *p=a;
 int i=0;
 while (*p=='*')
 {if(i<=n)
 { a[i++]=*p;
  p++;}
 }
 while (*p)
 {a[i++]=*p;
  p++;
 }
 a[i]='\0';
}
void main ()
{char s[81];int n;
 printf("Enter a string:\n");
 gets(s);
 printf("Enter n:");
 scanf("%d",&n);
 fun(s,n);
 printf("The string after deleted:\n");
 puts(s);
}

运行结果不对,请问fun函数的问题出在哪?
谢谢各位才子佳人!!!!
搜索更多相关主题的帖子: 神仙 
2010-08-23 14:38



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-316560-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.250012 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved