编程题:编写函数delSpace实现删除字符串中全部指定的字符。
例如:删除字串"abaaacad"中所有的字符’a’,则结果为:“bcd”。
要求:删除功能用函数实现,且所有数据通过参数传递。
解决方法一
#include <stdio.h>
#include <string.h>
void delSpace(char a[],char n);
int main() {
char ch,a[10];
scanf("%s\n%c",a,&ch);
delSpace(a,ch);
return 0;
}
void delSpace(char a[],char n)
{ int i,j;
for (i = 0; i < strlen(a); ) {
if (a[i] == n) {
for (j = i; j < strlen(a); ++j) {
a[j] = a[j + 1];
}
continue;
}
++i;
}puts(a);
}
解决方法二
#include <stdio.h>
void delSpace(char s[],char c);
int main() {
char ch,a[10];
scanf("%s\n%c",a,&ch);
delSpace(a,ch);
return 0;
}
void delSpace(char s[],char c)
{
int i,j;
for(i=0;s[i]!='\0';i++)
{
while(s[i]==c)
{
for(j=i;s[j]!='\0';j++)
s[j]=s[j+1];
}
}puts(s);
}
这两种方法均未使用指针
物联网大一新生的第一篇博客,欢迎指正