| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1791 人关注过本帖
标题:[求助]2个问题,一个超难一个超简单
只看楼主 加入收藏
形影随从
Rank: 1
等 级:新手上路
威 望:1
帖 子:188
专家分:0
注 册:2005-3-15
收藏
得分:0 
把这个

case'B':printf("70-84\n");break;


改成:

case'75':printf("70-84\n");break;

2005-03-18 00:00
fantasyop
Rank: 1
等 级:新手上路
帖 子:71
专家分:0
注 册:2005-2-25
收藏
得分:0 
郁闷!!可我想输入的数字又不一定的,如果我下次是输入65那我再去改啊!

今年俺是大菜鸟,明年俺希望是小菜鸟,......
2005-03-18 00:12
形影随从
Rank: 1
等 级:新手上路
威 望:1
帖 子:188
专家分:0
注 册:2005-3-15
收藏
得分:0 
所以这就是一个范围的问题了。你编程序前要知道你达的目的是什么呀。

这就跟据你的需要面改变了呀。每个程序都会有一个特定的功能的呀。

象你这样说,你是没有具体要达到什么目的呀。

2005-03-18 00:19
fantasyop
Rank: 1
等 级:新手上路
帖 子:71
专家分:0
注 册:2005-2-25
收藏
得分:0 
恩,我看书上的例子,一开始是想通的,后来想弯了。以为case'A':printf("70-84\n")这句话是想让我们规定'A'范围(当时也有点奇怪'A'是字符变量怎么做整形变量后来又想弯了字符变量也有相应的ASCII码),......后来越想越头疼,最后发帖问switch的用法
郁闷怎么我老是想弯~~

今年俺是大菜鸟,明年俺希望是小菜鸟,......
2005-03-18 00:30
形影随从
Rank: 1
等 级:新手上路
威 望:1
帖 子:188
专家分:0
注 册:2005-3-15
收藏
得分:0 
慢慢来就好了。

2005-03-18 00:31
poppylx
Rank: 1
等 级:新手上路
帖 子:367
专家分:0
注 册:2004-9-27
收藏
得分:0 
晕哦   你们两个在聊天  还是灌水赚积分啊  西西
int main(void)
{char grade;
scanf("%c",&grade);
switch(grade)
{case'A':printf("85-100\n");break;
case'B':printf("70-84\n");break;
case'C':printf("60-69\n");break;
case'D':printf(">60\n");break;
default:printf("error\n");}
getch();

你看的应该是潭好强的书吧     这是一个很让人郁闷的例子
这段程序是让你输入一个成绩等级的
比如输入A   则grade等于A    执行printf("85-100\n");break;
打印85-100   告诉你A等   成绩是在85-100的范围内

如果输入的字符不在A--D的范围内   则执行default后的语句   打印error
他跟if一样都是选择语句   
不过if是条件语句     一个if只有两个选项  除非嵌套
switch是开关语句   可以实现多个选择
还有if后面的判断可以是条件表达式,常量,甚至语句等
而switch只能是常量表达式  (这个不知道是不是准确   不过我是这样理解的)

两个语句都有自己的优点   在不同的时候可以体现出各自的灵活性
比如象你问的  要输入一个成绩数    再输出等级   这个用switch就很麻烦   
(至少我认为这样   不知道是不是准确  多谢指点)

动于心而静如水
2005-03-18 00:31
形影随从
Rank: 1
等 级:新手上路
威 望:1
帖 子:188
专家分:0
注 册:2005-3-15
收藏
得分:0 
睡觉去了。

2005-03-18 00:31
fantasyop
Rank: 1
等 级:新手上路
帖 子:71
专家分:0
注 册:2005-2-25
收藏
得分:0 
形影随从,晚安!!谢谢你帮我把弯思想给K直了,祝你晚上做个好梦~~明天发财~~后天娶明星老婆~~大后天小泉给你来查鞋~~大大后天美国总统给你来端茶~~ {晕哦 你们两个在聊天 还是灌水赚积分啊 西西} 如果可以的话帮我减几分,积分太高的话下次问幼幼点的问题会很没面子的 ZzZz~~

今年俺是大菜鸟,明年俺希望是小菜鸟,......
2005-03-18 00:49
poppylx
Rank: 1
等 级:新手上路
帖 子:367
专家分:0
注 册:2004-9-27
收藏
得分:0 
呵呵   谁都有不懂的地方啊
正常

动于心而静如水
2005-03-18 01:03
dongfz
Rank: 1
等 级:新手上路
帖 子:40
专家分:0
注 册:2005-3-8
收藏
得分:0 
    1.3.3 开关语句
    在编写程序时, 经常会碰到按不同情况分转的多路问题,  这时可用嵌套if
-else-fi语句来实现, 但if-else-if语句使用不方便, 并且容易出错。对这种情
况, Turbo C2.0提供了一个开关语句。开关语句格式为:
          switch(变量)
          {
               case 常量1:
                    语句1或空;
               case 常量2:
                    语句2或空;
                    .
                    .
                    .
               case 常量n;
                    语句n或空;
               default:
                    语句n+1或空;
          }
    执行switch开关语句时, 将变量逐个与case后的常量进行比较, 若与其中一
个相等, 则执行该常量下的语句, 若不与任何一个常量相等, 则执行default 后
面的语句。
    注意:
    1. switch中变量可以是数值, 也可以是字符。
    2. 可以省略一些case和default。
    3. 每个case或default后的语句可以是语句体, 但不需要使用"{"和"}"括起
来。
    下例的switch中变量为整数型。
    例19:
     main()
     {
          int test;
          for(test=0; test<=10; test++)
          {
               switch(test)   /*变量为整型数的开关语句*/
               {
                    case 1:
                         printf("%d\n", test);
                         break;    /*退出开关语句*/
                    case 2:
                         printf("%d\n", test);
                         break;
                    case 3:
                         printf("%d\n", test);
                         break;
                    default:
                         puts("Error");
                         break;
               }
          }
     }
    下例的switch中变量为字符型。
    例20:
     #include<stdio.h>
     main()
     {
          char c;
          while(c!=27)                  /*循环直到按Esc键结束*/
          {
               c=getch();               /*从键盘不回显接收一个字符*/
               switch(c)
               {
                    case 'A':           /*接收的字符为'A'*/
                         putchar(c);
                         break;         /*退出开关语句*/
                    case 'B':
                         putchar(c);
                         break;
                    default:            /*接收的字符非'A'和'B'*/
                         puts("Error");
                         break;
               }
          }
     }

你去下载c语言宝典看看吧!!

是金子就一定会发亮吗?高手也需要低调!!!!
2005-03-19 00:22
快速回复:[求助]2个问题,一个超难一个超简单
数据加载中...
 
   



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

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