| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1651 人关注过本帖
标题:字符数组arr中特定的字符删除
只看楼主 加入收藏
brokenheart
Rank: 2
等 级:论坛游民
帖 子:64
专家分:25
注 册:2015-11-7
结帖率:76.92%
收藏
已结贴  问题点数:18 回复次数:7 
字符数组arr中特定的字符删除
#include<stdio.h>
int main()
{
    char arr[80];
    char ch;
    int i;
    int k=0;
    printf("请输入一串字符:\n");
    scanf("%s",&arr);
    printf("请输入要删除的字符:\n");
    scanf("%c",&ch);
    getchar();
    for(i=0; i<strlen(arr); i++)
    {
        if (arr[i]!=ch)
        {
            arr[k]=arr[i];
            k++;
        }
    }
    arr[k]='\0';
    printf("删除给定字符%c后的字符串为:%s\n",ch,arr);
    return 0;
}
各位大侠帮帮忙
2015-12-11 23:48
brokenheart
Rank: 2
等 级:论坛游民
帖 子:64
专家分:25
注 册:2015-11-7
收藏
得分:0 
回复 2楼 边小白
我找出了哪里有问题,我想问一下,gets()跟scanf有什么区别,为什么只能gets()而不能用scanf 呢
2015-12-12 00:00
newdos
Rank: 9Rank: 9Rank: 9
等 级:禁止访问
威 望:6
帖 子:251
专家分:1169
注 册:2012-8-13
收藏
得分:9 
下面的代码也可以达到你想要的效果。
    printf("请输入一串字符:\n");
    scanf("%[^\n]",arr);//遇到回车返回,回车还在缓冲区里
    printf("请输入要删除的字符:\n");
    scanf("%*c%c",&ch);//%*c意思忽略一个字符,可以将上面回车符给去掉。
2015-12-12 11:10
小朋友123
Rank: 2
等 级:论坛游民
帖 子:2
专家分:11
注 册:2015-12-12
收藏
得分:9 
添加一个 #include<string.h>;gets(str)。另外我有一个疑问   字符串当遇到\0 不是应该停止么    为什么后面的字母仍然输出来了?
2015-12-12 17:15
brokenheart
Rank: 2
等 级:论坛游民
帖 子:64
专家分:25
注 册:2015-11-7
收藏
得分:0 
回复 4楼 小朋友123
遇到'\0'确实就停止了啊
2015-12-14 10:14
brokenheart
Rank: 2
等 级:论坛游民
帖 子:64
专家分:25
注 册:2015-11-7
收藏
得分:0 
回复 4楼 小朋友123
不过遇到\0 是在循环结束后,所以后面仍然可以输出字符
2015-12-14 10:15
钱少
Rank: 2
等 级:论坛游民
威 望:1
帖 子:7
专家分:11
注 册:2015-12-14
收藏
得分:0 
#include<stdio.h>
#include<string.h>
int main()
{
    char arr[80];
    char ch,d;
    int i;
    int k=0;
    printf("请输入一串字符:\n");
    scanf("%s",arr);
    d=getchar();
    printf("请输入要删除的字符:\n");
    scanf("%c",&ch);

    for(i=0; i<strlen(arr); i++)
    {
        if (arr[i]!=ch)
        {
            arr[k]=arr[i];
            k++;
        }
    }
    arr[k]='\0';
    printf("删除给定字符%c后的字符串为:%s\n",ch,arr);
    return 0;
}
要用一个getchar()来接受scanf语句时最后输入的回车符,否侧ch字符将接受回车符,而不是你想要删除的字符
2015-12-14 22:33
brokenheart
Rank: 2
等 级:论坛游民
帖 子:64
专家分:25
注 册:2015-11-7
收藏
得分:0 
回复 7楼 钱少
  谢谢啊
2015-12-16 22:52
快速回复:字符数组arr中特定的字符删除
数据加载中...
 
   



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

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