| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2744 人关注过本帖
标题:请帮忙看看这段程序怎么理解!
取消只看楼主 加入收藏
小说贝斯
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2007-8-4
收藏
 问题点数:0 回复次数:1 
请帮忙看看这段程序怎么理解!
#include<iostream.h>
 void main()
 {
     int score,s,sum;
     char grade;
     cout<<"please input score "<<endl;
     cin>>score;
     if(score>=0&&score<=100)
     {
         s=score/10;
         switch(s)
         {
             case 0:
             case 1:
             case 2:
             case 3:
             case 4:
             case 5: grade='2';break;
             case 6:
             case 7: grade='3';break;
             case 8: grade='4';break;
             case 9:
             case 10: grade='5';break;
         }
         cout<<"grade is "<<grade<<endl;
     }
     else
         cout<<"data error\n";
 }
这是一个把百分制成绩按照五分制输出的程序,用switch写的!可是我不太明白case那段代码。比如我输入20,为什么也显示2,输入30也显示2!请知道的解释下具体原因!
搜索更多相关主题的帖子: case grade score break 
2007-12-27 12:45
小说贝斯
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2007-8-4
收藏
得分:0 
原帖由 [bold][underline]Lonelie[/underline][/bold] 于 2007-12-27 15:31 发表 [url=http://bbs.][/url]
switch-case语句的执行过程是:
从第一个case语句开始,直到遇到break跳出

恩,你说的我明白,但是我想知道的是为什么case0,case1,case2等后面没有写grade='2';break;也能输出‘2’!应该是我没有表达清楚吧!我是个新手,对这不明白!希望会的朋友不要只做过客!

Standing on Shoulders of Giants
2007-12-27 17:23
快速回复:请帮忙看看这段程序怎么理解!
数据加载中...
 
   



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

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