c语言程序中 从字符串s中删除指定的字符c.

要简单的,谢谢... 要简单的,谢谢 展开
 我来答
帐号已注销
2021-06-24 · TA获得超过77.1万个赞
知道小有建树答主
回答量:4168
采纳率:93%
帮助的人:165万
展开全部

c语言从字符串s中删除字符c:

#include<stdio.h>

/*从字符串S中删除字符c*/

voidsqueeze(char[],char);

intmain()

#include<stdio.h>

gets(s);

printf("输入需要删除的指定字符ch:

");

ch=getchar();

for(i=j=0;s[i]!='\0';i++)

if(s[i]!=ch)s[j++]=s[i];

s[j]='\0';

printf("删除字符

%c

之后字符串为:

%s\n",ch,s);

}

字符串在存储上类似字符数组

它每一位单个元素都是能提取的,字符串的零位是它的长度,如s[0]=10,这提供给我们很多方便,例如高精度运算时每一位都能转化为数字存入数组。

通常以串的整体作为操作对象,如:在串中查找某个子串、求取一个子串、在串的某个位置上插入一个子串以及删除一个子串等。两个字符串相等的充要条件是:长度相等,并且各个对应位置上的字符都相等。设p、q是两个串,求q在p中首次出现的位置的运算叫做模式匹配。串的两种最基本的存储方式是顺序存储方式和链接存储方式。

以上内容参考:百度百科-字符串

百度网友6fe74e2
2013-06-24 · TA获得超过6593个赞
知道大有可为答主
回答量:1973
采纳率:100%
帮助的人:261万
展开全部

可以正确运行,不过你要注意,输入只能输入13个字符,不然就错的,而且只能删一个字符,

因为你写的有点小问题:

修改一下:

#include <conio.h>

#include<stdio.h>
#include<string.h>

void squeeze(char s[],char c)
{
     int i=0,j=0;
     for(i;i<strlen(s);i++)
          if(s[i]!=c)
              s[j++]=s[i];
          s[j]='\0';
          printf("%s",s);
}       
int main(void)
{
      int i;
      char s[14]={0},c;
      printf("请输入一串字符串\n");
      //for(i=0;i<14;i++)
        //   scanf("%c",&s[i]);

      gets(s);
      printf("请输入要删去的字符\n");
      scanf("%c",&c);
      squeeze(s,c);
      getch();
}

这样的话更有通用性:

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
推荐于2017-05-22
展开全部
没有用函数,
#include<stdio.h>
void main()
{
char s[80],ch;
int i,j;
printf("输入字符串: ");
gets(s);
printf("输入需要删除的指定字符ch: ");
ch=getchar();
for(i=j=0;s[i]!='\0';i++)
if(s[i]!=ch)s[j++]=s[i];
s[j]='\0';
printf("删除字符 %c 之后字符串为 : %s\n",ch,s);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
逐梦兮乐
2013-06-23 · TA获得超过6431个赞
知道大有可为答主
回答量:5151
采纳率:72%
帮助的人:1860万
展开全部
#include<stdio.h>
#include<string.h>
#include<conio.h>
char fun(char *str, char a)
{
int i, j, len,len2;
char str1[80];
len = strlen(str);
for (i = 0, j = 0; i < len; j++, i++)
{
if (str[i] == a)
continue;
else
str1[j] = str[i];
}
len2 = strlen(str1);
for (i = 0; i < len2; i++)
str[i] = str1[i];
}

int main()
{
clrscr();
char str[81], a;
printf("Enter strings:");
gets(str);
printf("Enter char:");
scanf("%c", &a);
fun(str, a);
printf("The result is:");
puts(str);
}
祝你愉快!
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式