C语言题:删除字符串中尾部的字符

假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:使字符串中尾部的*号不得多于n个;若多于n个,则删除多于的*号;若少于或等于n个,则什么也不做,字符串中... 假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:使字符串中尾部的*号不得多于n个;若多于n个,则删除多于的*号;若少于或等于n个,则什么也不做,字符串中间和前面的*号不删除 展开
 我来答
百度网友4de7b94
推荐于2018-04-05 · TA获得超过8158个赞
知道小有建树答主
回答量:1423
采纳率:93%
帮助的人:60.1万
展开全部
代码如下:
#include <stdio.h>
#include <string.h>
int main()
{
char buff[50];
char buff1[50];
scanf("%s",&buff);
for(int i=0;i<strlen(buff)-1;i++)
{
buff1[i]=buff[i];
}
for(int i=0;i<strlen(buff)-1;i++)
{
printf("%c",buff1[i]);
}
printf("\n");
return 0;
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友97adf2e
推荐于2016-09-12 · TA获得超过226个赞
知道小有建树答主
回答量:185
采纳率:0%
帮助的人:0
展开全部
#include<stdio.h>

#define N 5 // 定义最多 * 的个数
int fun(char *s,int n)
{ char *max;
int con_num=0; //连续出现 * 的次数
while(*s != '\0')
{ if(*s=='*')
{ con_num++;
if(con_num == n) max = s; //连续出现 n 次,记录该位置
}
else con_num=0; // 若不是 * 则重新计数
s++;
}
if(con_num>=n)
{ *(max+1) = '\0'; //删除多余的 * 字符
return 1;
}
else return 0;
}
void main()
{
char str[100];
scanf("%s",str);
if(fun(str,N)) printf("\n已删除!处理后的字符串:%s\n",str);
else printf("\n未删除:%s\n",str);
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
qizhi0119
2009-10-10 · TA获得超过357个赞
知道小有建树答主
回答量:510
采纳率:0%
帮助的人:240万
展开全部
很简单的问题,你哪不会,发出你的代码来,不要总等现成的.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 3条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式