習題8-6 刪除字符(20 分)


本題要求實現一個刪除字符串中的指定字符的簡單函數。

函數接口定義:

void delchar( char *str, char c );

其中char *str是傳入的字符串,c是待刪除的字符。函數delchar的功能是將字符串str中出現的所有c字符刪除。

裁判測試程序樣例:

#include <stdio.h>
#define MAXN 20

void delchar( char *str, char c );
void ReadString( char s[] ); /* 由裁判實現,略去不表 */

int main()
{
    char str[MAXN], c;

    scanf("%c\n", &c);
    ReadString(str);
    delchar(str, c);
    printf("%s\n", str);

    return 0;
}

/* 你的代碼將被嵌在這里 */

輸入樣例:

a
happy new year

輸出樣例:

hppy new yer
#include <stdio.h>
#include <string.h>
#define MAXN 20
void delchar( char *str, char c );

int main()
{
    char str[MAXN]="happy new year", c;
    scanf("%c", &c);
    delchar(str, c);
    printf("%s\n", str);
    return 0;
}


void delchar( char *str, char c )
{
    int i,j,len;
    len = strlen(str);
    printf("len = %d\n", len);
    for(i=0;i<len;i++)
    {
        if(str[i]==c)
        {
            for(j=i;j<len;j++)
                str[j]=str[j+1];//后面的字母放到前一位 
        }
    }
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM