| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 744 人关注过本帖
标题:利用数组统计输出的数值
取消只看楼主 加入收藏
ybyc9999
Rank: 1
等 级:新手上路
帖 子:55
专家分:0
注 册:2015-1-24
结帖率:90%
收藏
已结贴  问题点数:3 回复次数:2 
利用数组统计输出的数值
#include <stdio.h>
#include <iostream>
int main(void){
    int c,i,nwhite,nother;
    int ndigit[10];
    nwhite=nother=0;
   
    for(i=0;i<10;++i){
       ndigit[i]=0;
       printf("%d ",ndigit[i]);
    }  
    printf("\n");
    while((c=getchar())!=EOF){
        if(c>='0' && c<='9')
          ++ndigit[c-'0'];
        else if(c==' '||c=='\n'||c=='\t')
          ++nwhite;
        else
          ++nother;
     }      
    printf("digits=");
    for(i=0;i<10;++i)
       printf(" %d",ndigit[i]);
       printf(",white space= %d,other= %d\n",nwhite,nother);
    system("pause");
    return 0;
    }

其中if(c>='0' && c<='9')
          ++ndigit[c-'0'];
对这两条语句不太理解,当输入为:000
                                890  时,输出结果如下:
digits=1 0 0 0 0 0 0 0 1 1,white space=2,other=3
搜索更多相关主题的帖子: include 统计 
2015-01-30 10:29
ybyc9999
Rank: 1
等 级:新手上路
帖 子:55
专家分:0
注 册:2015-1-24
收藏
得分:0 
回复 楼主 ybyc9999
恩,明白了,还有一个问题
if(c>='0' && c<='9')
          ++ndigit[c-'0'];,这里怎么不能用0 和9 代替’0‘和’9‘,
2015-01-30 12:14
ybyc9999
Rank: 1
等 级:新手上路
帖 子:55
专家分:0
注 册:2015-1-24
收藏
得分:0 
回复 5楼 wmf2014
就是说我输入0~9之间的数,计算机会转换为ACSII中对应的数值吗?
如果我输入一个很大的数,比如100000,那么还会进行转换么
2015-01-30 12:49
快速回复:利用数组统计输出的数值
数据加载中...
 
   



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

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