case语句中case的用法 5C

要求:输入5+, 输出100;输入5-,输出90;输入5,输出95。
我的写法如下,输出5的时候必须加一个空格,如何去掉空格呢?请问该如何编写呢?

``` case 5:
switch(b) {
case '+':
printf("The score is 100.\n");
break;
case '-':
printf("The score is 85.\n");
break;
case '0':
printf("The score is 90.\n");
break;
default:
printf("False input.\n");
}
break;

2个回答

#include
int main(int argc, char *argv[])
{
int a;
char b;
scanf("%d%c",&a,&b); //ab两个输入连续输入到操作台,中间没有符号隔开
switch(a){
case 5:
switch(b) { //先判定a,再判定b,switch的嵌套
case '+':
printf("The score is 100.\n");
break;
case '-':
printf("The score is 85.\n");
break;
case ' ':
printf("The score is 90.\n"); //如果输入的只有5,被判定为错误的输入,所以此处我编写的程序需输入“5”加上“空格”
// 请问老师:如果要实现只输入5,运行就能输出90. case后该如何写?就是声明case后为空。
break;
default:
printf("False input.\n");
}
break;
case 4:
switch(b) {
case '+':
printf("The score is 80.\n");
break;
case '-':
printf("The score is 70.\n");
break;
case ' ':
printf("The score is 75.\n");
break;
default:
printf("False input.\n");
}
break;
case 3:
printf("The score is 60.\n");
break;
case 2:
printf("The score is <60.\n");
break;
case 1:
printf("The score is < 60.\n");
break;
default:
printf("False input!\n");
}

return 0;

}

whandwho
大川里的小川人 说实话,楼主我从来没有见过这种写法,理论上可以的,但是也有一些问题,所以楼主的问题是什么?
11 个月之前 回复

scanf("%d%c",&a,&b);
修改为scanf("%d",&a);

if (scanf("%c", &b) == 1)
{
switch(b) { //先判定a,再判定b,switch的嵌套
case '+':
printf("The score is 100.\n");
break;
case '-':
printf("The score is 85.\n");
break;
case ' ':
printf("The score is 90.\n"); //如果输入的只有5,被判定为错误的输入,所以此处我编写的程序需输入“5”加上“空格”
// 请问老师:如果要实现只输入5,运行就能输出90. case后该如何写?就是声明case后为空。
break;
}
}
else
{
printf("False input.\n");
}

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
sql 语句中 case的用法
rnALTER PROCEDURE [dbo].[sp_ActivateCardListReport]rnrn@DateType Int ,--1月/2周/3日期段rn@Year nvarchar(20) ,rn@Month nvarchar(20) ,rn@Week nvarchar(20) ,rn@beginDay nvarchar(20) ,rn@endDay nvarchar(20) rnrnasrnrndeclare @DateWhere nvarchar(1000)rnset @DateWhere = ''rnrn--判断DateType为2/3时,是否选择了所有周和所有月rnif (@DateType=1 and @Month ='') or (@DateType =2 and @Week='')rnbeginrn set @DateType = 4rnendrnrnif @DateType = 1rnbeginrn set @DateWhere = ' and DateDiff(Month,ActivateDate,'''+@Year+'-'+@Month+'-01'') = 0 'rnendrnelse if @DateType = 2rnbeginrn set @DateWhere = ' and DatePart(Week,ActivateDate) = '+@Week rnendrnelse if @DateType = 3rnbeginrn set @DateWhere = ' and DateDiff(Day,ActivateDate,'''+@beginDay +''') <= 0 ' +rn ' and DateDiff(Day,ActivateDate,'''+@endDay +''') >=0 'rnendrnelse if @DateType = 4rnbeginrn set @DateWhere = 'and DatePart(Year,ActivateDate) = '+@Yearrnendrnrndeclare @sql nvarchar(2000)rnset @sql ='rnSELECT * FROM tbActivateCardLogrnwhere 1=1 ' + @DateWherernrnexec (@sql)rnrnrn----------rn一个存储过程如上所示,功能是按选择类型的不同(全年/年月/年周/日期段)来获取不同的数据.rn用这种动态语句的方法是可以实现了.rn但我现在在某个地方必须得用一句语句实现,用CASE似乎可以实现这个功能,我已经做了如下的,请大家帮忙补充成能实现上面的存储过程能实际的SQL 语句,谢谢.rnrnselect * from tbActivatecardlog rnwhere DateDiff(month,activatedate,@year+'-'+@month+'-01') = case @datetype when 1 then 0 else -1 endrnand DatePart(Week,ActivateDate) = case @datetype when 2 then @week else -1 endrnrnrn
switch case语句中case的问题
简单的用代码说一点,rn[code=C/C++]rnswitch(m)rnrn case 0:...rn case 1:...rn case 2:...rn ....rn case 100:...rn rn[/code]rn现在的问题是,这些case条件的数我是不知道的,case的个数我也是不知道的。case条件的数都放到一个vector中去了。该怎么写这个case条件呢?用for循环怎么从vector中读出这些条件呢?rn谢谢!rn之前想到的是rn[code=C/C++]rncase *iterator:...rncase *iterator++:...rn...rn[/code]rn但是这样写不下去了。
SQL 语句中的CASE用法 求助
1、问题描述:rn有几个字段rn毛重,毛重时间rn皮重,皮重时间rn出入库类型(只是存‘出库’和‘入库’)rn如何在判断 出入库类型 为 ‘出库’的时候 用的时间是 ‘毛重时间’(即出库的时候结算时间)rn 出入库类型 为 ‘入库’ 的时候 用的时间是 ‘皮重时间’(即入库的时候结算时间)rn而我在查询条件中判断一个字段(而这个字段就是上面的‘毛重时间’或者是‘皮重时间’)rn用SQL中的CASE办法实现吗?rn请高手看看帮帮忙。rn
sql语句中判断 case when的用法
case sex when 1 then 'man'  when 2 then 'women'  end; case when sex=1 then 'man'  when sex=2 then 'women' end sex; 上两个语句是相同的结果 当判断为空输出的时候 case  when sex is null then ‘未选择’  else then '选择了'   e
SQL语句中case when函数的用法
前一段时间进行一段比较复杂的数据库业务查询需要对查询出来的数据进行分类统计 ,用到了数据库的case函数,这时才注意到这个函数有两种用。 一种是: case 字段名 when 字段值 then 值 else 值2 end 这一种是之前比较常用的一种方式,相当于是大部分编程语言中的switch case的用法,通过字段名,去匹配字段值,适合字段值比较固定的情况下使用,特点是比较简洁易用。 ...
有关SQL语句中CASE的用法
SELECT 学号, 姓名, 成绩, CASE 成绩 WHEN <60 THEN '不及格' WHEN >60 THEN '及格'rnEND AS '等级'rnFROM EnglishScorernrn但这样写不对,rn如何在CASE语句中根据不同的成绩判断等级啊,谢谢了
sql语句中的case when用法?
select goodsid,goodsname,case when price='0' then '面议' else price from goodsrnrnsql2005中运行的结果是:rn无法将 char 值转换为 money。该 char 值的语法有误。rnrn这个如何解决?rnrn我的想法是:当价格为0时,显示面议,当价格不为0时,显示价格。rnrn还有一个问题:如果上面的问题解决了,我还想实现当价格为0时,显示面议,当价格不为0时,显示Price元/Unit(如:5元/个),不知道行不行,Unit是产品的单位字段?rn
sql语句中的case when then
select isbuoy, case isbuoy when 0 then '集装箱' when 1 then '浮标' when 2 '固定' else end from sitern我这样写不对吗?但是就是说缺失关键字。
关于SQL语句中的CASE
select WXBH,KHMC,DH,LXR,WPBH,XLH,GZMS,PJMC,CLF,WXF,BS from WXBG这个语句在delphi可以执行的rn可改成select WXBH,KHMC,DH,LXR,WPBH,XLH,GZMS,PJMC,CLF,WXF,CASE BS WHEN 1 THEN 5656565 end from WXBG就查询不到数据了rn我用的是Access数据库rnrn我把这个数据导到SQL Server里两个语句都可以执行。rn请大侠帮帮小弟?
sql语句中的case使用方法
最近做项目用到过这个方法,感觉还挺好用的,总结一下分享给大家: select 字段名,字段名,case when 字段值判断 then 结果为 XX                                         when 字段值判断 then 结果为 XX                                         when 字段值判断 then 结果为 XX...
from 语句中的case 问题
我想实现下面的效果,不知怎么写?rnrnselect * from T1rn case @Para1 when 1 then inner join T2 rn end rnwhere .....rn谢谢大家执教
sql语句中的case when
今天在一个项目中的sql语句中看见了”case when”网上搜了一下--简单case函数    case sex  when '1' then '男'  when '2' then '女’  else '其他' end--case搜索函数    case when sex = '1' then '男'     when sex = '2' then '女'     else '其他' end项目...
case 语句中的迭代器问题
为什么这两个括号去掉了就会报错:rnrnerror C2360:initialization of 'iter' is skipped by 'case' labelrnrncase WM_PAINT:rnrn [color=#FF0000] [/color]rn rn hdc=BeginPaint(hwnd,&ps);rnrn for (vector::iterator iter=setline.begin();iter!=setline.end();++iter)rn rn rn MoveToEx(hdc,iter->Begin_point.x,iter->Begin_point.y,NULL);rnrn LineTo(hdc,iter->End_point.x,iter->End_point.y);rn rnrn EndPaint(hwnd,&ps);rnrn [color=#FF0000][/color]rnrn return 0;rn
CASE 语句中的判断问题
SELECT * FROM MarriageInfosrn WHERE States = CASE @States WHEN '' THEN States ELSE @States END AND rn City = CASE @City WHEN '' THEN City ELSE @City END ANDrn Employment = CASE @Employment WHEN '' THEN Employment ELSE @Employment END ANDrn Nativeplace = CASE @Nativeplace WHEN '' THEN Nativeplace ELSE @NativePlace END ANDrn Income = CASE @Income WHEN IS NULL THEN Income ELSE @Income rnrn最后面的 Income = CASE @Income WHEN IS NULL THEN Income ELSE @Income 提示IS附近有语法错误rn这里@Incone是money类型的 如果数据库中没显示任何值 就是NULL 么?是否所有的数据类型输入为空时就是NULL?rnrn这些语句是为了写一个多条件同时成立的查询 一般这个大家是怎么写的 ?rn很菜的问题~~````
switch/case语句中,每个case后{}的意义
首先,在C++中case后面的语句不加{}也是可以编译通过的,有一些编译器有特殊要求会要求加上{}; 但是必须加break,如果不加break,代码会一直执行下去,直到遇到break才会跳出switch。 如果无{},case中的局部变量是错误的; 如果加了{},局部变量相当于在代码块中,可以编译成功。 switch(color) { case ECOLOR_RE...
case 语句中在一个分支中怎么退出case结构?
case 语句中在一个分支中怎么退出case结构?谢谢了先
Delphi在case 语句中使用字符串(集)
非常遗憾 Delphi 的 case 语句不支持字符串, 但我觉得这也可能是基于效率的考量;如果非要在 case 中使用字符串, 也不是不可以变通, 这里提供了五种方法. 代码文件: unit Unit1;interfaceuses  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,  Dia...
函数对象作为case语句中的条件
Ruby 1.9的Proc#===作为call的一个别名,所以函数对象可以作为case语句中的条件 [code=&quot;ruby&quot;] def multiple_of(factor) lambda{|num| num % factor == 0} end #or #def multiple_of(factor) # proc{|num| num % factor == 0} ...
SQL语句中case when 的使用方法
--简单Case函数: Case sex when '1' then '男‘ when‘2’ then ‘女 ’ else '其他' end  --Case搜索函数 Case when sex='1' then '男' when sex='2' else '其他'  end --我们也可以用来划分考试分数等级 和人数统计:sql查询语句如下: select SELECT
switch/case语句中判断问题
面试例题1:下面的switch语句输出什么。[日本著名软件企业F公司2013年2月面试题]nnint n='c';nnswitch(n++)nndefault:printf("error");break;nncase 'a':case'A':case 'b':case'B':printf("ab");break;nncase 'c':case 'C':printf("c");nncase 'd':case 'D':printf("d");nnA.cdd B.cd C.abcd D.cderrornn解析:本题考的是switch中的“fall through”:如果case语句后面不加break,就依次执行下去。nn所以先顺序执行,考虑n的初始值,从'c'开始查找输出(default和ab直接略过),输出c;没有break,那么继续输出后面的,输出d。nn答案:Bnn我在这想问的是在case 'c':case 'C':printf("c");这条语句中为什么能输出c?第二个case判断的是大写C ,而此时n是小写c,所以不应该直接跳过printf语句吗?
scala case语句中的中置表示法
scala case语句中的中置表示法
C# 枚举类型在switch case语句中的使用
代码 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApp2 { //枚举类型 enum Alpha { AAA, BBB...
sql语句中case怎么用
我现在要将90分以上的学生的成绩变为“优秀”rn其他的为“合格”rn请问该怎么用case语句
SQL语句中使用case和having
case when多个条件并合 select b.id,b.name, count(case a.student_type when 31 then '第一类' end) '第一类', count(case a.student_type when 32 then '第2类' end) '第2类', count(case a.student_type when 33 then '第3类' end)...
sybase11的select语句中不支持case语句???
SELECT "test"=case rn when aa>1 then 3rn else 4rn endrnFROM a rn此语句报错,其中aa是a中一整形列
switch-case语句中,case下的语句问题
switch-case语句中,case下的语句问题
还是CASE在SQL语句中的问题
同样我还是需要一条数据,可是出来的不是一条数据,为什么?rnrnrnrnSELECT (CASE WHEN MAX(OBTAIN_TIME) <= '2006-3-20' THEN GRADE - PRE_GRADE ELSE 0 END) AS LIFT, (CASE WHEN MAX(OBTAIN_TIME) <= '2006-3-20' THEN GRADE END) AS TODAYrnFROM TK_EMPLOYEE_GRADErnWHERE (EMP_NO = 48031101)rnGROUP BY GRADE, PRE_GRADErnrn这里如果不分组的话,语句不正确,可是分组之后所有的数据全部都显示出来了,我只想显示最后一条数据,我应该怎么该这个语句?rn
超奇怪的switch case语句中的错误!!!!
switch(flag) //flag 为intrnrn case 1:rn if...rn else...rn ....rn break;rn case 2:rn if...rn else...rn ....rn break;rn ..............rncase n:rn if...rn else...rn ....rn break;rndefault: break;rnrnrnrn前面一直没报错,当n=20的时候,出现一个和数量有关的错误,错误代码为:rncompiler limit: too many exception handler states in function 'OnOk'.simplify fuction.rn我查了msdn,确信case语句的n可以为任意不相同的数,没有数量限制.我的每个case语句中都为20几条if-else语句组成,难道case语句和if-else组合的时候会有数量限制.另外申明程序代码应该没错,因为n=19以前都是对的,到了20时报错,并且如果这时把case=19或者case=其他n那段注释掉,则程序不报错.好奇怪,已经困扰我几天了,求大人门帮助!!!!rn
SQL语句中case、when、then的使用
使用语法为:select `pro`.`id` AS `id`,`pro`.`title` AS `title`,`pro`.`name` AS `name`,`pro`.`ltime` AS `ltime`,`pro`.`place` AS `place`,`pro`.`linkman` AS `linkman`,`pro`.`address` AS `address`,`pro`.`tel` ...
switch case语句中的default语句
default语句不是必须的。 switch case 语句是一个条件选择语句,找到相同的case值做为入口,执行后面的程序;若所有的case都不满足,则找default入口;若未找到则退出整个switch语句。 所以default只是一个备用的入口,有没有都无所谓。
sql语句中case的写法问题
select sum(case a.proc_stat when 'E' then 1 else 0 end)rnfrom cpnst_appl arnwhere a.cpnst_caserpt_id inrn……rnrn现在想把when 'E' 写成一个范围的形式rn如proc_stat 在20080101到20080909之间的 该怎么写rnwhen between?
ASP下,在case语句中,怎样包含文件?
ASP下,在case语句中,怎样包含文件?rnrninclude,好像不可以哎。。
Sql语句中的select case问题!
数据库有一字段是1和2,表示卡的状态。现在希望绑定到DataGrid时能够把1显示为正常,2显示为停用,请问sql语句怎么写?我写了个出错了!贴出来让大家帮忙看看rnrnstring sqlselect = "select CardNo,CardTypeID,CreateDate,(case when Status=1 then '正常' else '停用') from MJ_BS.dbo.TasteCards where CardBatchID = "+ keyb +" and (TasteCardTypeID = 15 or TasteCardTypeID = 16)";rn请问如何改?
SQL语句中case when的使用
我的应用场景: 根据用户连续登陆的天数,增加不同的经验值,如果通过select语句先查询出来登陆天数,再通过天数去判断应该增加多少经验值的话,做多次查询开启多次事务效率肯定比较低,所以还是用数据库提供的方法case when来解决好了 直接上SQL语句了(MySQL) update user set `user`.exp = (case `user`.ramaindays
在Foxpro的Select语句中如何使用Case
SqlServer和Sybase中可以这样使用Case:rnSelect Case When c1 = 1 Then 'value1'rn When c1 = 2 Then 'value2'rn EndrnFrom tablenamernrn我希望在Foxpro的Select语句中使用,该如何写,一定给分。
Postgre SQL语句中CASE的使用问题
我写了一个语句,是这样的:A、B两张表,只分别为Style和quantity(款式和数量)。A表中有部分Style没有在B表中。现在我需要把A表与B表的Style合并成不重复的,之后再把A表中的quantity和B表中的quantity,之后再把A的quantity减去B中的quantity,得到一个值(称为value)rn我写的语句为:rnrnselect A.style,A.quantity,B.quantity,case when B.quantity=null then A.quantity;when B.quantity<>null then A.quantity-B.quantity end case as value from A left outer join B on A.style=B.style order by A.stylernrn运行后出错在case和;两处。请问如何修改?rnrn谢谢!
关于case语句中的变量声明,定义语句
希望高手指点rnswitch(ch)rnrn case'a':rn int a = 0;rn break;rn case'b':rn cout << "ok" << endl;rn break;rnrn编译会报错,rn小弟理解如此:在一个case语句中的变量声明,定义在整个switch语句可见,但是对于case‘b’分支执行的时候,只能a的声明可见,而a定义语句由于case‘a’未执行,所以这没找到,所以报错,是这样的么?rn如果是的话,a的定义实在运行时根据执行哪个分支才去查找的么,为什么不是编译的时候?rn或者都不恰当,希望高手指教,谢谢各位大哥!rn
06 SQL语句中的条件判断语句if和case
本课程为你讲解软件开发过程的步骤,数据库设计在软件开发过程中的地位。根据客户的需求,设计关系型数据库数据库,为你展示规范化的数据库设计和糟糕的数据库设计,通过数据库设计案例,你就能学会根据客户需求设计出规范的数据库。
case的用法
比如说一个表table里有个字段叫‘aaa’rnselect case aaa when...then...end from tablernrn和 select case when。。。then。。。rn有什么区别 rn
CASE用法
http://cindysaj.iteye.com/blog/296635   SELECT col1, col2,        CASE           WHEN col3 &amp;gt; 1 AND col3 &amp;lt;2              THEN '1'           WHEN col3 &amp;gt; 2 AND col3 &amp;lt;3              THEN '2'...
相关热词 c++和c#哪个就业率高 c# 批量动态创建控件 c# 模块和程序集的区别 c# gmap 截图 c# 验证码图片生成类 c# 再次尝试 连接失败 c#开发编写规范 c# 压缩图片好麻烦 c#计算数组中的平均值 c#获取路由参数