编写函数fun,函数的功能是:从字符串中删除指定的字母。同一字母的大小写按不同字符处理。
若程序执行时,输入字符串为:turbo c and Borland c++
从键盘上输入字符:n,则输出后变为:turbo c ad borlad c++
如果输入的字符串不存在,则字符串照原样输出。
#include<stdio.h>
#define SIZE 11
void fun() {
char str[SIZE] = { '\0' }, deletchar, upperChar, lowChar;
int i, j;
printf("输入待删除字母\n");
scanf("%c", &deletchar); fflush(stdin);
printf("请您输入长度为10的字符串\n");
scanf("%s", str);
str[SIZE - 1] = '\0';
if ((deletchar > 96) && (deletchar < 123))
{
upperChar = deletchar - 32; lowChar = deletchar;
}
else if ((deletchar > 64) && (deletchar < 91))
{
lowChar = deletchar + 32; upperChar = deletchar;
}
else {
printf("It is not letter, please try again.\n");
return;
}
printf(" \'%c\',\'%c\' will be deleted \n", lowChar, upperChar);
printf("The original string:");
for (i = 0; i < SIZE; i++)
{
printf("%c", str[i]);
}
printf("\n");
for (i = 0; str[i] != '\0'&&i < SIZE; i++)
if (str[i] == lowChar || str[i] == upperChar)
{
for (j = i; (j + 1) < SIZE; j++)
{
str[j] = str[j + 1];
}//move forward
str[j] = '\0'; i--;
printf("\t %s\n", str); //check the string
}
printf("\t %s\n", str);
}
void main() {
fun();
}
运行结果