rxcr.net
当前位置:首页 >> 从字符串s中删除 >>

从字符串s中删除

没有用函数,#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); }

c语言从字符串s中删除字符c:#include<stdio.h>/*从字符串S中删除字符c*/ voidsqueeze(char[],char); intmain() { chars[]="hdsjalfh"; charc;//保存需要删除的字符 printf("请输入需要删除的字符:"); c=getchar(); squeeze(s,c); printf("%s\n",

void main(){ int i, j; char s[80]; printf("\nEnter a string: "); gets(s); //此处已修改,参数应该是数组名 printf("The original string: "); puts(s); for(i=j=0; s[i]!= '\0';i++) //此处已修改,中间的表达式应该是判断字符串是否结束,用字符串的结束标志 if(s[i]!= 'S') s[j++]=s[i];//此处已修改,j变量的值需要变化 s[j]='\0'; printf("The string after deleted: "); puts(s); }

#include&lt;stdio.h&gt;#define p printfvoid main(){ int i,j; char s[80]; p("\nEnter a string:"); gets(s); p("The original string:"); puts(s); for(i=j=0;s[i]!='\0'&amp;&amp;i&lt;80;i++) if(s[i]!='s') {s[j]=s[i];j++;} s[j]='\0'; p("The string after deleted:"); puts(s);} 应该好了,如果还有,欢迎追问.

#include<stdio.h> void fun(char c[80], char x[1]) {int i = 0; int bit = 0; for(i = 0; c[i]; i++) { if(c[i] !=x[0] ) { c[bit] = c[i]; bit++; } } c[bit]='\0'; } void main() { char c[80];char a[1]; printf("请输入一串字符:"); scanf("%s",&c); printf("请输入要删除的数:"); scanf("%s",&a); fun(c,a); printf("%s",&c); } 这样应该可以了.

参考代码:#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"); gets(s); printf("请输入要删去的字符\n"); scanf("%c",&c); squeeze(s,c); return 0; }

System.out.print(s.replaceAll( t, ""));

第一个 scanf("%s",&s); 因为数组名就是地址,所以不是这里面错了,里面应该不要& 第二个,if(s[i]!="c") 这里不是和字符串“C”比较,应该去掉那一对双引号 第三个,你的写法其实不是删除,而是不打印指定的符号.

s[j++]=s[i]就是把除'c'以外的字符从字符串开头重新写入,然后再末尾加个'\0'结束标志,相当于把字符串内的'c'删除了比如说:s="abcdcabcd"最终结果是s="abdabd\0cd"输出的时候遇到'\0'认为字符串结束了,后面的字符不会输出---------------

网站首页 | 网站地图
All rights reserved Powered by www.rxcr.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com