c语言中怎样写删除字符串中某个字符的程序啊?

Python015

c语言中怎样写删除字符串中某个字符的程序啊?,第1张

c语言中书写删除字符中某个字符的程序的具体操作步骤如下:

1、编写头函数,包括“#include <stdio.h>.”与“#include <string.h>.“。

2、定义两个相同容量的字符串储存的变量 char a【100】  char b【100】。以及整数变量 int c;int i=0,j=0;其中a[100]是存字符串的,b【100】是存你删除对应字符的字符串的,整数C是想删除第几位。j ,i 是后面for循坏中要使用到的变量。

3、编写printf(“请输入你的字符串”);scanf(“%s”,a);printf(“请输入你想要删除第几位字符”);scanf(“%d”,&c)。

这几行代码主要是显示界面,以及具体想要删除什么字符串以及具体删除第几位字符使用的。

4、继续编写for(i=0;i<strlen(a);i++) ( if(i+1!=c){  b【j】=a【i】; j++;)(         printf(" %s",b);)。

这几行代码逻辑语句是:只要当i+1不等于c时把a【i】里面的字符赋给b【i】,那么这样当i+1=c时不把它赋给b【i】从而实现删除功能。

5、程序编辑完毕,可以进行删除字符了。

①目标

要删除字符串中的所有空格

就要筛选出空格字符。

要筛选,就要对首字符做标记。

要所有空格,就要遍历。

~

②命令行

#include<stdio.h>

#include<stdlib.h>

#include<ctype.h>

~

③定义函数

void fun(char *str)

{int i=0

char *p

/*标记:p=str表示指针指向字符串首地址做标记*/

for(p=str*p!='\0'p++)

/*遍历:不等于'\0'表示只要字符串不结束,就一直p++。*/

if(*p!=' ')str[i++]=*p

/*删除:如果字符串不等于空格,即有内容就存入字符串。等于空格就不储存,但是指针还是p++继续后移,跳过储存空格相当于删除。*/

}

void fun(char *str)

{int i=0

char *p=str

while(*p)

{if(*p!=' ')str[i++]=*p

p++}

/*除了for循环遍历,也可while循环遍历。注意 p++在if语句后,不然会漏掉第一个字符。*/

str[i]='\0'

/*循环完毕要主动添加'\0'结束字符串。*/

~

④主函数

viod main()

{char str[100]

int n

printf("input a string:")

get(str)

puts(str)

/*输入输出原字符串*/

fun(str)

/*利用fun函数删除空格*/

printf("str:%s\n",str)