用c语言编程实现“有一个字符串,今输入一个字符,将字符串中该字符删掉”

如题所述

第1个回答  2011-05-31
#include <stdio.h>
main()
{ char *str,ch;
int i,n,j;
printf("Please input a string:");
scanf("%s",str);
printf("\nPlease input a character:");
scanf("%c",&ch);
i=0;n=strlen(str);
while(*(str+i)&&(i<=n))
{ if (*(str+i)==ch)
{ for(j=i;*(str+j);j++) *(str+j)=*(str+j+1);
n--;
}
i++;
}
printf("%s",*str);
}
第2个回答  2011-05-31
#include<stdio.h>
#include<string.h>
void main()
{char s[80];
char ch;
int i,len=0;
ch=getchar();
gets(s);
len=strlen(s);
while(ch!=s[i]&&s[i]!='\0')
i++;
if(i>=len)
printf("Not found");
else {
while(s[i]!='\0')
{s[i]=s[i+1];
i++;}}
}
第3个回答  2011-05-31
const char* szSrc ="Hello the Word!";
char szChar ='o';

char* szTag = new char[strlen(szSrc)];
int nTagLen = 0;

for (int i =0;i<strlen(szSrc);i++)
{
if (szSrc[i] != szChar)
{
szTag[nTagLen]=szSrc[i];
nTagLen++;
}
}
szTag[nTagLen]='\0';

//不在使用szTag
delete []szTag;
第4个回答  2011-05-31
#include<stdio.h>
void Delete( char a[] , int n , char del )
{
int i,j;
for( i = 0 ; i < n ; i++ )
{
if(a[i]==del)
{
for(j = i ; j < n ;j++)
{
a[j] = a[j+1];
}
i--;
}
}
}

int main()
{
char s[10000],c;
while( gets(s) )
{
c = getchar();
Delete( s, strlen(s) , c );
puts(s);
gets(s);
}
return 0;
}本回答被提问者采纳

用c语言编程实现“有一个字符串,今输入一个字符,将字符串中该字符删掉...
include <stdio.h> main(){ char *str,ch;int i,n,j;printf("Please input a string:");scanf("%s",str);printf("\\nPlease input a character:");scanf("%c",&ch);i=0;n=strlen(str);while(*(str+i)&&(i<=n)){ if (*(str+i)==ch){ for(j=i;*(str+j);j++) *...

c语言:一个字符串,输入一个字符,编写函数dstr将输入的字符从字符串中...
char* dstr(char* s, char c);int main(){ char str[1000];char ch;printf("请输入一个字符串:\\t");gets(str);printf("请输入要挖去的字符:\\t");scanf("%c",&ch);printf("删除%c后的字符串为:\\t",ch);puts(dstr(str,ch));} char* dstr(char* s, char c){ char* t =...

C语言:用一个字符数组从键盘输入一个字符串,删除字符串中所有非字母字符...
include<stdio.h> include<string.h> include<conio.h> int main(){ char str[256],str2[256];scanf("%s",str);for(i=0;i<strlen(str);i++)if((str[i]>=65&&str[i]<=90)||(str[i]>=97&&str[i]<=122)){ str2[j]=str[i];j++;} str2[j]='\\0';printf("%s",str2...

C语言如何实现删除字符串中的字符
char *s1 = s; \/\/s1指向字符串首地址 while ((*s != '?') && (*s != 0)) \/\/字符不为结束符或者不为?,指向下一个字符 s++;s = 0; \/\/将这个字符置为结束符 return s1;};

c语言 输入一个字符串,删除该字符串中的所有空格并输出处理后的字符串...
printf(“请输入一串字符串:”);for(i=0;i<len+1;i++){ scanf("%c",p+i);} for(i=0;i<len+1;i++){ if((p+i)>=48&&(p+i)<=57||(p+i)>=97&&(p+i)<=122){ (q+n)=(p+i);n++;} } for(i=0;i<n+1;i++){ printf("%c",*(q+i));} } c语言编程...

C语言编程:输入一个字符和字符串,删除字符串中和输入字符相同的所有字符...
void delete_same(char * str,char ch){ int i=0;for(i=0;str[i]!=0;i++){ if(str[i]==ch){ strcpy(str+i,str+i+1);\/*删除相同元素*\/ } i--;} } void main(){ char ch;char str[LEN];printf("Please input the string:");gets(str);printf("Please input ch:");ch...

C语言从键盘输入一个字符串,并删除该字符串中所有大写字母字符
include <stdio.h> include <string.h> void main(){ int i, j;char s[81];char str[81];gets(s);i = j = 0;\/\/i=1;while(s[i]!='\\0') \/\/!= { if((s[i]<'A')||(s[i]>'Z'))str[j++]=s[i];i++;} str[j]='\\0';puts(str);} ...

C语言 编写程序输入一个字符串,删除字符串中的所有数字字符后输出此字...
include "stdio.h"include "string.h"void main(){ char str[500];int i;printf("请输入字符串:\\n");gets(str);for(i=0;i<strlen(str);i++){ if(str[i]==' '||(str[i]>='0'&&str[i]<='9'))continue;else printf("%c",str[i]);} printf("\\n");} ...

C语言编程问题:输入一个字符串,再输入一个字符ab,将字符串中所有的ab...
设置两个下标 i,j。i指向第一个字符串,j指向第二个子符串;i每次向后移动一个位置,i往后的strlen(ab)个字符是不是和字符串ab匹配,如果不匹配就把str[i]添到字符串output中,如果匹配,就让i直接跳过strlen(ab)个位置;具体还是看代码吧!自己在纸上画一画就明白了。include<stdio.h> include...

C语言编写程序,从键盘输入一个字符串,删除该字符串的所有首部和尾部数字...
include "stdio.h"int main(int argc,char *argv[]){char s[300];int i,n;printf("Please enter a string...\\n");scanf("%299s",s);for(n=0;s[n];n++);for(n--;s[n]>='0' && s[n]<='9';n--);s[n+1]='\\0';for(i=n=0;s[n]>='0' && s[n]<='9';...

相似回答