C语言-删除字符串中的字符。

作者&投稿:满婕 (若有异议请与网页底部的电邮联系)
如何用C语言将字符串中除字母的其他符号删除~

建立一个for循环,从下标为0开始逐字检测字符串元素,对应的ASCII码在'a'(97)至'z'(122)之间的是小写字母,在'A'(65)至'Z'(90)之间的是大写字母,是字母的依次存入同一个数组,问题就解决了。举例代码如下:
//#include "stdafx.h"//If the vc++6.0, with this line.#include "stdio.h"int main(void){ char a[100]="jfk839hfkhd89jl9t5ugifogjshb1783fhdahpp[qhfud",i,j; for(j=i=0;a[i];i++) if(a[i]>='a' && a[i]='A' && a[i]=97 && a[i]=65 && a[i]<=90)//这样写也可以 a[j++]=a[i]; a[j]='\0'; printf("%s
",a);//Look at... return 0;}

#include int main(){ char s[100]; int i,j; gets(s); for(i=0,j=0;s[i]!='\0';i++) { if(s[i]!='*') s[j++]=s[i]; } s[j]='\0'; printf("%s",s);}

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、程序编辑完毕,可以进行删除字符了。



在你的delchar()函数里面,进行覆盖那里应该改成 *p = *(p+1) 如果是*p = *p + 1结果是 先取出 p指向的内存中的字符,然后该字符加1之后再赋值给p所指向的内存。 列入 *p = a; 那*p = *p +1 结果是 *p = b; 而*p = *(p + 1) 是p指针先指向p前面的一个内存单元,再用*取出该内存单元的值,然后赋值给 p 所指向的内存单元 *p

我用数组给你写了个新的
#include<stdio.h>
#include<string.h>
int main (void)
{
void delchar(char s[], char c);
char str[100];

char c;
int i=0;
printf("Input a string:");
// while((str[i]=getchar())!='\n')
// i++;
// str[i]='\0';
gets(str);
printf("Input a char:");
scanf("%c",&c);
delchar(str,c);
printf("After deleted,the string is:");
printf("%s",str);

return 0;
}

void delchar(char s[], char c)
{
int length=strlen(s);

for (int i = 0; i < length; ++i)
{
if (s[i] == c)
{
for (int j = i; j < length; ++j)
{
s[j]= s[j+1];
}
}
}
}

#include <stdio.h>
#include <string.h>
void delchar(char *p,char ch)
{
char *pch;
while (*p!='\0')
{
if (*p==ch) //相同时
{
for (pch=p;*pch!='\0';pch++) //字符前移
*pch=*(pch+1);
}
p++;
}
}
void main()
{
char a[100];
char ch;
printf("请输入字符串:");
gets(a);
printf("请输入你要删除的字符:");
scanf("%c",&ch);
delchar(a,ch);
printf("删除字符后的字符串:%s\n",a);
}

int i=strlen(s);
for(p=s;p<s+i;p++)
{
if(*p==c)
{
q=p;
for(i--;p<s+i;p++) //进行覆盖
*p=*p+1;
p=q--;
}
}
中*p=*(p+1);。


用C语言编写程序,输入一个字符串,删除字符串中的所有数字字符后,输出此...
include "stdio.h"\\x0d\\x0a#include "string.h"\\x0d\\x0avoid main()\\x0d\\x0a{\\x0d\\x0a char str[500];\\x0d\\x0a int i;\\x0d\\x0a printf("请输入字符串:\\n");\\x0d\\x0a gets(str);\\x0d\\x0a for(i=0;i='0'&&str[i]<='9'))\\x0d\\x0a continue;\\x0...

请问怎样用汇编语言删除一个字符串内指定的字符?
;用汇编语言怎样删除字符串中某一指定字符 ;;用MASM5.0编译通过,以下是运行实例 ;E:\\masm>1123_2 ;Input string: YGERYGFEW73684237R48RH8W73HFE8E7GVJD87I3HTD873RF8 ;Delete: H ;New string: YGERYGFEW73684237R48R8W73FE8E7GVJD87I3TD873RF8 ;E:\\masm> ;DATA SEGMENT s1 db 0dh,...

c语言如何删除一串字符串中指定的字符串
include<stdio.h>#include<string.h>intmain(){chars1[200],s2[200],temp[200],*p;printf("请输入一字串");scanf("%s",s1);printf("请输入要删除字串");scanf("%s",s2);p=strstr(s1,s2);if(p!=NULL){strncpy(temp,s1,p-s1);temp[p-s1]='\\0';strcat(temp,p+strlen(s2));...

删除字符串中ASCII值最大和一个最小的字符,如果有多个相同的字符则全...
C++代码:include<stdio.h> include<algorithm> include<string.h> using namespace std;void main(){char s[200],s1[200];int i,k;gets(s);strcpy(s1,s);k=strlen(s);sort(s1,s1+k);for(i=0;i<k;i++){if(s[i]==s1[0]||s[i]==s1[k-1]);elseprintf("%c",s[i]);}...

C语言怎样从字符串中删除确定头尾字符的字符串?
很简单:字符串以'\\0'为结尾,只要执行:a[1]='\\0',或者a[1]=0即可。如果不是删除到末尾,只要把后面的移动到前面来覆盖要删除的部分即可,最后一个是'\\0':比如,要删除上面字符串中"am a"4个字符:i=2;do {a[i]=a[i+4];while(i++,a[i+4]);

c语言编程 删除一字符串中的所有*号
include <stdio.h>int main(){ char s[100]; int i,j; gets(s); for(i=0,j=0;s[i]!='\\0';i++) { if(s[i]!='*') s[j++]=s[i]; } s[j]='\\0'; printf("%s",s);}

用C语言中的指针编写一个删除字符串中重复字符的函数
include<stdio.h>void fun(char *str) { char *p; int f[256],i; for ( i=0;i<256;i++ ) f[i]=0; p=str; while ( *p ) { if ( f[*p]==0 ) { *str=*p; str++; } f[*p]++; p++; } *str=0;}void main() { char str[256]; gets(str); ...

用c语言编写程序删除字符串中间的'*'号
已通过编译,而且除了printf()和scanf()之外,什么库函数都没用。void main(void){ char *str,i;do { printf("Please input:\\n");scanf("%s",str);for(i=0;str[i]!='\\0';i++);}while(i==0);i=fun(str,i-1); \/*自定义的函数,负责删除'*'*\/ printf("%s\\n",str+i);\/*...

C语言编程 自定义从字符串中删除指定的字符函数
while(0!=*ps1)\/\/调整str中字符位置,删除所有置为1的位 { if(1!=*ps1){ ps1++;continue;} ps2=ps1+1;while(0!=*ps2 && 1==*ps2)ps2++;if(0==*ps2)break;ps1++=*ps2;ps2=1;} ps1=0;return str;} 一楼的:只能删除第一个字符,而且后面的写法是错误的。二楼的:没有释放...

用C语言在字符串中删除指定的字符。
include "stdio.h"include <string.h> int main(){ char a[50],ch;int i,j;printf("输入字符串:");scanf("%s",a);fflush(stdin);printf("输入要删的字符:");scanf("%c",&ch);for(i=0,j=0;i<strlen(a);i++)if(a[i]!=ch)a[j++]=a[i];a[j]='\\0';puts(a);retur...

巴东县15810175073: C语言 - 删除字符串中的字符. -
谏温乳安: c语言中书写删除字符串中某个字符的程序的具体操作步骤如下: 1、编写头函数,包括“#include <stdio.h>.”与“#include <string.h>.“. 2、定义两个相同容量的字符串储存的变量 char a【100】; char b【100】.以及整数变量 int c;int i=0,j...

巴东县15810175073: C语言“在字符串中删除指定的字符”?怎么编写程序 -
谏温乳安: 从字符数组中删除特定的字符,即输入要删除的指定字符,利用for循环找到非指定字符,将非指定字符输出即可.以下为具体的实现方法: #include<stdio.h> int main() { char str[100],c; int j,k; printf("please input a string:"); gets(str); printf("\...

巴东县15810175073: C语言删除字符串中的指定字符 -
谏温乳安: for(j=i;p[j];j++)p[j]=p[j+1]; 后面加上一句 i--;

巴东县15810175073: 删除字符串中某个指定字符,用C语言 -
谏温乳安: 1 2 3 4 5 6 7 8 9 10 11 12 13 14#include <stdio.h> intmain() { chars[]="abcabcbc"; inti,j; for( i=0,j=0;s[i]!='\0';i++ ) {if( s[i]!='c') //删除串中的c字符s[j++]=s[i] ; } s[j]=0; //字符串结束符 printf("result:%s\n", s ); return0; }

巴东县15810175073: C语言编程:删除字符串中指定的字符
谏温乳安: #include <stdio.h> #include <string.h> void main() { char s1[100],s2[100]; int i,j,k; char temp; printf("Please input 2 string:\n"); gets(s1); gets(s2); for(i=0;i<strlen(s2);i++) { temp=s2[i]; j=0; while(s1[j]!='\0') { if(s1[j]==temp) { k=j; while(s1[k]!='\0') { s1[k]...

巴东县15810175073: c语言程序中 从字符串s中删除指定的字符c. -
谏温乳安: 可以正确运行,不过你要注意,输入只能输入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...

巴东县15810175073: C语言如何实现删除字符串中的字符 -
谏温乳安: 字符串其实是一个数组.你把后面的abcd依次移到****位置上.然后让字符串结束就好了.符串或串(String)是由零个或多个字符组成的有限序列.一般记为 s='a1a2???an'(n>=0).它是编程语言中表示文本的数据类型. 通常以串的整体作为操...

巴东县15810175073: C语言编程 自定义从字符串中删除指定的字符函数 -
谏温乳安: char* remove_chars(char *str,const char *rmchars)//删除str中所有包含在rmchars中的字符 {char buff[256]={0};char *ps1,*ps2;ps1=(char *)rmchars;while(*ps1)buff[*ps1++]=1;//遍历rmchars,将要删除的字符对应在buff中的位置1ps2=str;while...

巴东县15810175073: C语言 删除字符串中的指定字符'*',要求用指针,谢谢~ -
谏温乳安: #include intmain() { charstr[100]; char*p,*q; charc; gets(str); c=getchar(); for(p=str,q=str;*p!='\0';p++)//用指针*p去提取str中每一个元素,用指针*q去删除str中需要删除的元素 if(*p!=c) *(q++)=*p; *q=*p; puts(str); return0; } 扩展资料: 其它方法: ...

巴东县15810175073: 怎么在c语言字符数组中删除一个字符? -
谏温乳安: 字符数组中删除指定字符的方法: 输入一个字符串,以回车结束 输入指定字符 定义一个遍历字符串的下标变量和一个新的字符串下标变量 循环遍历字符串, 如果当前字符与指定字符不同,则将当前字符写入新下标位置,新下标+1 (相同则不处理) 遍历下标+1检测下一个 遇到字符串结束符,结束循环 循环结束后,新下标位置字符串结束符 输出新的字符串 参考代码:

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网