Tsukinai的第四十六个程序
用字符数组作函数参数编程实现如下功能:在字符串中删除与某字符相同的字符。
**提示信息:
“Input a string:”
“Input a character:”
**输入格式要求:"%s"
**输出格式要求:“Results:%s\n”
程序运行示例1如下:
Input a string:hello,world!
Input a character:o
Results:hell,wrld!
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
void fuck(char *a, char b)
{
int len, i = 0, j;
len = strlen(a);
while (a[i] != '\0')
{
if (a[i] == b)
{
for (j = i; j < len; j++)
{
a[j] = a[j + 1];
}
len--;
i--;
}
i++;
}
}
int main()
{
char a[100], b;
printf("Input a string:");
gets(a);
printf("Input a character:");
scanf("%c", &b);
fuck(a, b);
printf("Results:%s\n", a);
system("pause");
return 0;
}
以下为标答
#include <stdio.h>
#include <string.h>
#define N 100
void Squeeze(char *s, char c);
int main()
{
char str[20], ch;
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)
{
char str[N];
char *t = str;
strcpy(t, s);
for (; *t != '\0'; t++)
{
if (*t != c)
{
*s = *t;
s++;
}
}
*s = '\0'; /* 在字符串t2的末尾添加字符串结束标志 */
}