C语言怎么完成多选题功能?

例如:你喜欢的科目是什么?(多选题)A、语文B、数学C、英语D、物理E、化学F、生物G、天文每选一科+1分,多选多得。怎么完成?单选的话我知道if(answer==‘A’... 例如:你喜欢的科目是什么?(多选题)
A、语文 B、数学 C、英语 D、物理 E、化学 F、生物 G、天文
每选一科+1分,多选多得。
怎么完成?
单选的话我知道
if(answer==‘A’){sum +=1;}
多选怎么完成?
展开
 我来答
kaixingui2012
推荐于2016-09-16 · TA获得超过4.2万个赞
知道大有可为答主
回答量:1.4万
采纳率:81%
帮助的人:6447万
展开全部

两种方法,一种就是用if多次判断,另一种是用switch(),如:

方法1:

if ( answer =='A' || answer =='B' || answer =='C' ... || answer =='G')
{
    sum +=1 ;


or
if ( answer >='A' && answer <='G' )
    sum+=1 ;

方法2:

switch( answer )
{
    case 'A':
    case 'B':
    case 'C':
    case 'D':
    ....
    case 'G':
        sum += 1;
        break;
}
追问
本来输入A,sum就+1
但现在输入AB,这不是字符了吧,怎么判断?
追答

一种方法是你循环输入,进行多次判断(此方法就不说了,自己研究吧)

另一种方法是把answer定义成数组(字符串),然后,遍历字符串

char answer[100];
int i;
scanf("%s", answer ); //输入字符串,如ACD
for( i=0;answer[i] != '\0';i++ )
{
    if ( answer[i] >='A' && answer[i] <='G' )
        sum+=1 ;
}
结束后,sum=3
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式