填空题----删除指定字符

填空题----删除指定字符

时间: 1ms        内存:128M

描述:

小明想要做个小程序,能够删除字符串中特定的字符。

例如:想要在下面的字符串中删除a字母。

adgdfh

dgdfh

他已经做出来大部分只差最关键的一步了,你快来帮帮他吧。

#include<stdio.h>
int main()
{
    char c;
    char str[80];
    void delete_s(char str[],char );
    void print(char str[]);
    scanf("%c%s",&c,&str);//输入要删掉的字符//输入字符串
    delete_s(str,c);//实现删除特定字符串的功能
    print(str);//输出修改后的字符串
    return 0;
}
void delete_s(char str[],char ch)
{
    int i,j;
    for(i=j=0;str[i]!='\0';i++)
        ______________
            str[j++]=str[i];//要是遇到不是要删除的字符,就把他放进要输出的字符串中
    str[j]='\0';
}
void print(char str[])
{
    printf("%s\n",str);
}
你可以从小明的注释中得到提示。

输入:

输入两行,一行为想要删除的字母,第二行为字符串。

输出:

输出修改后的字符串。

示例输入:

a
apple

示例输出:

pple

提示:

参考答案(内存最优[1092]):


#include<stdio.h>
int main()
{
    char c;
    char str[80];
    void delete_s(char str[],char );
    void print(char str[]);
    scanf("%c%s",&c,&str);//输入要删掉的字符//输入字符串
   delete_s(str,c);//实现删除特定字符串的功能
   print(str);//输出修改后的字符串
   return 0;
}
void delete_s(char str[],char ch)
{
    int i,j;
    for(i=j=0;str[i]!='\0';i++)
if(str[i]!=ch)
 str[j++]=str[i];//要是遇到不是要删除的字符,就把他放进要输出的字符串中
    str[j]='\0';
}
void print(char str[])
{
    printf("%s\n",str);
}

参考答案(时间最优[0]):


#include<stdio.h>
#include<iostream>
using namespace std;
int main()
{
    char c;
    char str[80];
    void delete_s(char str[],char );
    void print(char str[]);
    scanf("%c%s",&c,&str);//输入要删掉的字符//输入字符串
    delete_s(str,c);//实现删除特定字符串的功能
    print(str);//输出修改后的字符串
    return 0;
}
void delete_s(char str[],char ch)
{
    int i,j;
    for(i=j=0;str[i]!='\0';i++)if(str[i]!=ch)
 str[j++]=str[i];//要是遇到不是要删除的字符,就把他放进要输出的字符串中
    str[j]='\0';
}
void print(char str[])
{
    printf("%s\n",str);
}

题目和答案均来自于互联网,仅供参考,如有问题请联系管理员修改或删除。

点赞

发表评论

电子邮件地址不会被公开。必填项已用 * 标注