分别用字符数组和字符指针作函数参数两种方法编程实现在字符串中删除与某字符相同的字符。
分别用字符数组和字符指针作函数参数两种方法编程实现在字符串中删除与某字符相同的字符。主意是两种方法!只能用C语言。其他语言写的不要。...
分别用字符数组和字符指针作函数参数两种方法编程实现在字符串中删除与某字符相同的字符。主意是两种方法!
只能用C语言。其他语言写的不要。 展开
只能用C语言。其他语言写的不要。 展开
3个回答
展开全部
1.字符数组
#include <stdio.h>
#include <string.h>
void BB(char a[20],char N)
{
int i,k;
for(i=0;a[i]!='\0';i++)
{
if(a[i]==N)
{
for(k=i;a[k]!='\0';k++)
a[k]=a[k+1];
i--;
}
}
}
void main ()
{
char a[20],N;
printf("输入一个字符串:");
gets(a);
printf("请输入要删除的字符:");
scanf("%c",&N);
BB(a,N);
puts(a);
}
2.字符指针
#include <stdio.h>
#include <string.h>
void BB(char *p,char N)
{
int i,k;
char *q;
for(;*p!='\0';p++)
{
if(*p==N)
{
for(q=p;*q!='\0';q++)
*q=*(q+1);
p--;
}
}
}
void main ()
{
char a[20],N;
char *p = a;
printf("输入一个字符串:");
gets(p);
printf("请输入要删除的字符:");
scanf("%c",&N);
BB(p,N);
puts(p);
}
#include <stdio.h>
#include <string.h>
void BB(char a[20],char N)
{
int i,k;
for(i=0;a[i]!='\0';i++)
{
if(a[i]==N)
{
for(k=i;a[k]!='\0';k++)
a[k]=a[k+1];
i--;
}
}
}
void main ()
{
char a[20],N;
printf("输入一个字符串:");
gets(a);
printf("请输入要删除的字符:");
scanf("%c",&N);
BB(a,N);
puts(a);
}
2.字符指针
#include <stdio.h>
#include <string.h>
void BB(char *p,char N)
{
int i,k;
char *q;
for(;*p!='\0';p++)
{
if(*p==N)
{
for(q=p;*q!='\0';q++)
*q=*(q+1);
p--;
}
}
}
void main ()
{
char a[20],N;
char *p = a;
printf("输入一个字符串:");
gets(p);
printf("请输入要删除的字符:");
scanf("%c",&N);
BB(p,N);
puts(p);
}
更多追问追答
追问
第二个呢!
追答
#include
#include
void BB(char *p,char N)
{
int i,k;
char *q;
for(;*p!='\0';p++)
{
if(*p==N)
{
for(q=p;*q!='\0';q++)
*q=*(q+1);
p--;
}
}
}
void main ()
{
char a[20],N;
char *p = a;
printf("输入一个字符串:");
gets(p);
printf("请输入要删除的字符:");
scanf("%c",&N);
BB(p,N);
puts(p);
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include <stdio.h>
#include <string.h>
#define N 100
void Squeeze(char *s, char c);
int main()
{
char str[20], ch;
char *p=str;
printf("Input a string:");
gets(str);
printf("Input a character:");
ch = getchar();
Squeeze(str,ch);
printf("Results:%s\n", str);
return 0;
}
void Squeeze(char *s, char c)
{
int i, j;
for(i=0;*(s+i)!= '\0';i++)
{
if(*(s+i)==c)
{
j=i;
for(;*(s+j)!='\0';j++)
{
*(s+j)=*(s+j+1);
}
i--;
}
}
}
#include <string.h>
#define N 100
void Squeeze(char *s, char c);
int main()
{
char str[20], ch;
char *p=str;
printf("Input a string:");
gets(str);
printf("Input a character:");
ch = getchar();
Squeeze(str,ch);
printf("Results:%s\n", str);
return 0;
}
void Squeeze(char *s, char c)
{
int i, j;
for(i=0;*(s+i)!= '\0';i++)
{
if(*(s+i)==c)
{
j=i;
for(;*(s+j)!='\0';j++)
{
*(s+j)=*(s+j+1);
}
i--;
}
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询