| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 442 人关注过本帖
标题:帮下忙,字符问题
只看楼主 加入收藏
xufan123
Rank: 5Rank: 5
等 级:职业侠客
帖 子:226
专家分:318
注 册:2010-11-15
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:7 
帮下忙,字符问题
、输入一行字母,统计相同字母的个数,同一字母不分大写、小写。
#include<stdio.h>
main()
{
    char ch[1000];
    int n=0,i=0,k=0,s=0;
    while((ch[i]=getchar())!='\n')
        i++;
   
    for(i=0;ch[i]!='\0';i++)
    {
        k=i;
        for(s=k+1;ch[s]!='\0';s++)
            if(ch[i]==ch[s])
            n++;
            if(n!=0)
            {
               
                printf("%c  %d\n",ch[i],n);
               
            }
                n=0;
    }
}
这个有些问题,
搜索更多相关主题的帖子: 统计 
2011-01-05 12:32
点线面
Rank: 8Rank: 8
来 自:NO.-1
等 级:蝙蝠侠
帖 子:525
专家分:980
注 册:2011-1-3
收藏
得分:2 
这题不那么简单,
第一,计算不重复,起码把不重复区分
第二,字母不分大写、小写。

可以这样首先大小充一,再统计
统计方面,把不重复区分开,慢慢OK

小代码,大智慧
2011-01-05 13:00
li_danwang
Rank: 4
来 自:鄂州
等 级:业余侠客
帖 子:112
专家分:203
注 册:2010-11-12
收藏
得分:2 
你第一层for循环上面应该加句 ch[i]='\0';  
然后你可以考虑把这个字符数组全部变成小写或者大写形式,再来个简单排序,最后统计相同字符个数就很麻利 了

没事来C一下...   
2011-01-05 13:04
xufan123
Rank: 5Rank: 5
等 级:职业侠客
帖 子:226
专家分:318
注 册:2010-11-15
收藏
得分:0 
总感觉这个不好,数组是动态变化的 那要怎么搞啊(c源)
2011-01-05 13:44
A13433758072
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:广东潮州
等 级:小飞侠
威 望:1
帖 子:1182
专家分:2784
注 册:2010-7-22
收藏
得分:2 
回复 楼主 xufan123
要我就把它们全转作大写或小写再统计

一步一个脚印...............................默默地前进.....
诚邀乐于解答c菜鸟问题,的热心网友加入,  QQ群38490319
2011-01-05 13:47
广陵绝唱
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:29
帖 子:3607
专家分:1709
注 册:2008-2-15
收藏
得分:14 
您的程序主要是在比较过后,没把该字符设定一个标记,否则下次还会再检测它.下面根据你的思路写了一个小程序,把比较过后的字符设定为 空格,防止下次再加以比较.


#include<stdio.h>
#include<string.h>

int main(void)
{
    char ch[1000];
    int n=0,i=0,s=0,t;
    //while((ch[i]=getchar())!='\n')
        //i++;
    scanf("%s",ch);
    t=strlen(ch);
    strupr(ch);
    for(i=0;i<t;i++)
    {
        for(s=i+1;s<t;s++)
        {
            if((ch[i]==ch[s])&&ch[i]!=' ')
            {
                n++;
                ch[s]=' ';
            }
        }
        if(n!=0)
        {

            printf("%c = %d\n",ch[i],n+1);

        }
        n=0;
    }

    return 0;
}

2011-01-05 13:52
xufan123
Rank: 5Rank: 5
等 级:职业侠客
帖 子:226
专家分:318
注 册:2010-11-15
收藏
得分:0 
回复 5楼 A13433758072
要是我想把它的原形写出来 后面还写上它重复的个数,要怎么搞捏;
这样的话还不如在比较的时候 统一大小转换这样就可以了啊
2011-01-05 15:08
xufan123
Rank: 5Rank: 5
等 级:职业侠客
帖 子:226
专家分:318
注 册:2010-11-15
收藏
得分:0 
谢了哈!
2011-01-05 15:27
快速回复:帮下忙,字符问题
数据加载中...
 
   



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

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