C语言编程问题,请高手帮忙。

zy317615003 2010-01-06 07:49:07
假定输入的字符串中只包含字母和*号。请编写函数fun,
它的功能是:使字符串中尾部的*号不得多于n个;
若多于n个,则删除多于的*号;若少于或等于n个,
则什么也不做,字符串中间和前面的*号不删除。
#include <stdio.h>
void fun(char *a,int n)
{
要求:使用C语言编写

请高手帮忙完善此题,谢谢!


}
void main()
{
char s[100]; //定义数组
int n;
printf("请输入一个字符串 :\n");
gets(s); //接收输入的字符串
printf("输入要保留的n个数: ");
scanf("%d",&n); //输入要保留的*号个数
fun( s,n ); //调用fun函数
printf("处理后的结果是 :\n");
puts(s);
}
...全文
129 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
赵4老师 2010-01-07
  • 打赏
  • 举报
回复
有限状态自动机
ImJaden 2010-01-06
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 hairetz 的回复:]
C/C++ codevoid fun(char*a,int n)
{int len=strlen(a),num=0;char*s=&a[len-1];
cout<<"len :"<<len;while(*s--=='*')
num++;if(num>n)
a[len-num+n]='\0';


}

[/Quote]
楼主明明就要C语言写,还用C++,呵呵。
codevoid fun(char*a,int n)
{
int len=strlen(a),num=0;
char*s=&a[len-1];
printf("len:%d\n",len);
while(*s--=='*')
num++;
if(num>n)
a[len-num+n]='\0';
}

陽洸膂珵 2010-01-06
  • 打赏
  • 举报
回复
void fun(char *a,int n)
{
char *p;
while(*a!='\0')
a++;
p=a-1; /p指向最后一个元素/


while(*p=='*')
{
n--;
p--;
}

if(n<0)
*(a+n)='\0';
}


void main()
{
char s[100]; /* 定义数组 */
int n;
printf("请输入一个字符串 :\n");
gets(s); /* 接收输入的字符串 */
printf("输入要保留的n个数: ");
scanf("%d",&n); /* 输入要保留的*号个数 */
fun( s,n ); /* 调用fun函数 */
printf("处理后的结果是 :\n");
puts(s);
}




东大坡居士 2010-01-06
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 hairetz 的回复:]
C/C++ codevoid fun(char*a,int n)
{int len=strlen(a),num=0;char*s=&a[len-1];
cout<<"len :"<<len;while(*s--=='*')
num++;if(num>n)
a[len-num+n]='\0';


}

这个就可以了。
[/Quote]

顶~~~~~~~~
arom_foxmail 2010-01-06
  • 打赏
  • 举报
回复
int num=0;
int i;
char* str;
for(i=strlen(a)-1;i>=0&&a[i]=='*';i--)
{
num++;
}
if(num>n)
{
a[strlen(a)-1-(num-n-1)]='\0';
}
swl82560397pq 2010-01-06
  • 打赏
  • 举报
回复
void fun(char s[],int n)
{
int i;
whiel(*(s)!='*')
{
s++;
}
for(i=0;i<n;i++)
s++;
*s ='\0';
return ;
}
  • 打赏
  • 举报
回复


void fun(char *a,int n)
{
int len=strlen(a),num=0;
char *s=&a[len-1];
cout<<"len :"<<len;
while(*s--=='*')
num++;
if(num>n)
a[len-num+n]='\0';


}



这个就可以了。

70,037

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧