| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2297 人关注过本帖
标题:高手帮忙做一下
只看楼主 加入收藏
x无名氏x
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2017-11-19
结帖率:80%
收藏
 问题点数:0 回复次数:12 
高手帮忙做一下
由键盘输入一个字符串和一个字符,要求从该串中删除所指定的字符,例如:若由键盘输入how do you 由键盘再输入:o,则运行结果为hw d yu d?
搜索更多相关主题的帖子: 键盘 输入 字符 do 运行 
2017-11-23 18:06
x无名氏x
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2017-11-19
收藏
得分:0 
由键盘输入一个字符串和一个字符,要求从该串中删除所指定的字符,例如:若由键盘输入how do you,屏幕显示:deldte? 由键盘再输入:o,则运行结果为hw d yu d?                            题发少了一部分

[此贴子已经被作者于2017-11-23 18:12编辑过]

2017-11-23 18:11
吹水佬
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:451
帖 子:10607
专家分:43182
注 册:2014-5-20
收藏
得分:0 
图片附件: 游客没有浏览图片的权限,请 登录注册

#include<stdio.h>
main()
{
    char c, s[100];
    printf("输入一个字符串: ");
    gets(s);
    printf("输入一个字符: ");
    scanf(" %c", &c);
    char *p=s;
    for (; *p; ++p)
        if (*p != c)
            printf("%c", *p);
}
2017-11-23 21:16
x无名氏x
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2017-11-19
收藏
得分:0 
回复 3楼 吹水佬
谢谢了,我发现我的几个题都是你做的,真心感谢!不过,,,我还没学指针,,所以,还得再麻烦你一下!

[此贴子已经被作者于2017-11-23 22:39编辑过]

2017-11-23 22:36
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
程序代码:
int main()

 {
     char c, s[100];
     printf("输入一个字符串: ");
     gets(s);
     printf("输入一个字符: ");
     scanf(" %c", &c);
     for(int i=0;s[i]!='\0';i++) if (s[i]!= c) printf("%c", s[i]);
     return 0;

 }

DO IT YOURSELF !
2017-11-24 21:21
炎天
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:桃花岛
等 级:贵宾
威 望:29
帖 子:1218
专家分:4986
注 册:2016-9-15
收藏
得分:0 
3楼和5楼写的, 没有考虑到空格,
"要求从该串中删除所指定的字符" 我对题目的理解是 在原字符串上删减,然后输出原字符串
楼主没学过指针,strcat()这个函数百度一下应该可以很快了解的。

程序代码:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{
    char  s[100] = { 0 };
    char c[3] = { 0 };
    
    gets(s);
    printf("delete?\n");
    gets(c);
    
    int i;
    for (i = 0; s[i+1] != '\0'; i++)
    {
        if (s[i] == c[0])
        {
            s[i] = '\0';
            strcat(s, &s[i + 1]);
            i--;
        }
    }
    
    if (s[i + 1] == c[0])
    {
        s[i + 1] = '\0';
    }
    
    printf("%s", s);
    return 0;
}


早知做人那么辛苦!  当初不应该下凡
2017-11-24 21:54
梦想远航lyz
Rank: 2
等 级:论坛游民
威 望:1
帖 子:39
专家分:76
注 册:2017-10-23
收藏
得分:0 
Try do it on youself!
2017-11-24 21:57
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
收藏
得分:0 
回复 6楼 炎天
这题可以不用strcat吧~虽然库函数是挺方便的~不过毕竟库函数也有具体的实现方法和执行效率吧,感觉这样执行效率……

其实嘛只需要一前一后两个指针,其中一个指向新的字符串尾部就可以了吧~

[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2017-11-25 10:28
炎天
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:桃花岛
等 级:贵宾
威 望:29
帖 子:1218
专家分:4986
注 册:2016-9-15
收藏
得分:0 
回复 8楼 九转星河
愿闻其详

早知做人那么辛苦!  当初不应该下凡
2017-11-25 11:01
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
收藏
得分:0 
回复 9楼 炎天
for (i=j=0;s[i]!='\0';++i)
    if (s[i]!=c[0])
        s[j++]=s[i];
   

没有敲具体框架不知道逻辑细节有没有问题~大概就是这样了~



[此贴子已经被作者于2017-11-25 11:27编辑过]


[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2017-11-25 11:24
快速回复:高手帮忙做一下
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018365 second(s), 11 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved