69,371
社区成员
发帖
与我相关
我的任务
分享
#include <stdio.h>
#include <string.h>
#include<stdlib.h>
int main()
{
int i=0;
char c,ch;
char string[50];
void strdelc(char string[],char c);
printf("请输入字符串:");
while((ch=getchar())!='\n')
{
string[i]=ch;
i++;
}
printf("请输入要删除的字符:");
scanf("%c",&c);
strdelc(string,c);
return 0;
}
void strdelc(char string[], char c)
{
int num, i, j;
num = strlen(string);
for(i=0, j=0; i<num; i++){
if(string[i] != c){
string[j++] = string[i];
}
}
string[j] = '\0';
printf("%s",string);
return;
}
#include <stdio.h>
#include <string.h>
int main()
{
char c;
char string[50];
void strdelc(char string[],char c);
printf("请输入字符串:");
scanf("%s",&string);
printf("请输入要删除的字符:");
while(getchar() != '\n');//
scanf("%c",&c);
strdelc(string,c);
}
void strdelc(char string[],char c)
{
//char term[]={0}; //这样数组会越界。。
int num, i, j;
num=strlen(string);
char *term = new char[num + 1];
for(i = j = 0; i < num; i++)
{
if(string[i]!=c)
term[j++]=string[i];
}
term[j] = '\0';
printf("改动后的字符串为:%s\n",term);
delete [] term;
}
void DeleteChar(char *src, char c)
{
int i;
for(i=0; i< strlen(src); i++)
{
if(src[i] == c )
{
if(src[i+1])
memcpy(src+i, src+ (i+1), strlen(src) -i);
else
src[i] = '\0';
}
}
void DeleteChar(char* str, char toDel)
{
int len = strlen(str);
int vPos = 0;
int sPos = 0;
while( sPos<len)
{
while(*(str+sPos) == toDel)
{
sPos++;
}
if(vPos<sPos)
{
*(str+vPos)=*(str+sPos);
}
vPos++;
sPos++;
}
*(str+vPos)='\0';
}
#include <stdio.h>
#include <string.h>
void strdelc(char string[],char c);
int main(){
char c, string[50];
printf("请输入字符串:");
gets(string);
printf("请输入要删除的字符:");
scanf("%c",&c);
strdelc(string, c);
printf("删除后:");
printf("%s\n",string);
return 0;
}
void strdelc(char string[], char c){
int num, i, j;
num = strlen(string);
for(i=0, j=0; i<num; i++){
if(string[i] != c){
string[j++] = string[i];
}
}
string[j] = '\0';
return;
}