| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 451 人关注过本帖
标题:求大虾解释,谢谢!
只看楼主 加入收藏
edward1688
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2011-10-12
结帖率:33.33%
收藏
已结贴  问题点数:10 回复次数:4 
求大虾解释,谢谢!
(43)    下面的程序对输入的每一个数字出现的次数进行计数,下划线处应填入的正确语句为( )。A
#include "stdio.h"
main()
{int i,ch, n[10];
  for(i=0;i<10;++i) n[i]=0;
   while((ch=getchar())!=‘\n’)
   if(ch>=‘0’ && ch<=‘9’)
   ________;
   for(i=0;i<10;++i)
   printf("数字%d出现的次数是:%d\n",i,n[i]);
}
 A、n[ch-‘0’]++
 B、n[ch]++
 C、i++
 D、n[i]++

为什么不选择C选项呢?
 for(i=0;i<10;++i)
   这一句中为什么是++i呢?
printf("数字%d出现的次数是:%d\n",i,n[i]);
这一句中为什么是i和n[i]呢?
搜索更多相关主题的帖子: include 下划线 while 
2011-10-14 21:42
唯我独魔
Rank: 8Rank: 8
等 级:蝙蝠侠
帖 子:176
专家分:782
注 册:2011-4-13
收藏
得分:3 
#include "stdio.h"
main()
{
    int i,ch, n[10];
    for(i=0;i<10;++i) n[i]=0;//这里循环结束了
    while((ch=getchar())!=‘\n’)
       if(ch>=‘0’ && ch<=‘9’)
           n[ch-‘0’]++;//比如出现‘5’,n['5'-'0']++也就是n[5]++
   for(i=0;i<10;++i)
   printf("数字%d出现的次数是:%d\n",i,n[i]);//程序用来统计0-9出现的次数,n[i]用来统计i次数
}
2011-10-14 22:07
七夜忧
Rank: 2
等 级:论坛游民
威 望:1
帖 子:41
专家分:50
注 册:2011-7-14
收藏
得分:3 
这里i是你要统计的数字,a[i]是该数字出现的次数。
printf("数字%d出现的次数是:%d\n",i,n[i])这句话已经点明了
2011-10-14 22:10
暴风雪282
Rank: 4
等 级:业余侠客
帖 子:61
专家分:295
注 册:2011-10-4
收藏
得分:3 
for语句中的第三个条件++i和i++是没有区别的,
for(i=0;i<10;++i) n[i]=0;这个语句的作用是n[0]-n[9]都为0,就是0-9出现的次数都是0次;
当你输入一个数时,对应的n[x]会加1,
本人认为A与B无区别啊.

Dance like there is nobody.
2011-10-14 22:38
暴风雪282
Rank: 4
等 级:业余侠客
帖 子:61
专家分:295
注 册:2011-10-4
收藏
得分:0 
while((ch=getchar())!=‘\n’)而且我认为你的输入永远不会满足条件,不会到这步的下面执行.

Dance like there is nobody.
2011-10-14 22:47
快速回复:求大虾解释,谢谢!
数据加载中...
 
   



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

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