PAT Basic 1076. Wifi密码 in C.


我的思路是从头扫到尾,扫到T则说明前面对应的字母为正确选项,然后将字母和数字对应起来输出即可,这里选项和数字对应的顺序较简单。
tricks就在于你如何将scan这些选项了。
我的做法是,逐字读入,遇见回车说明一行结束,途中分为选项字母ABCD,和正确错误选项TF,直至读入n行为止。
只要一读到T,则说明前面的选项是正确的,输出。


#include <stdio.h>
int isWhat(char c)
{
    if(c=='A'||c=='B'||c=='C'||c=='D')
        return 1; //option character
    else if(c=='T'||c=='F')
        return 2; //true-or-false character
    else return 0;
}
int main()
{
    int n,i,d;
    char op,tag,c;
    scanf("%d",&n);

    i=0;
    while(i<=n)
    {
        c=getchar();
        d=isWhat(c);
        if(d==1) op=c;
        else if(d==2) tag=c;
        else if(c=='\n') i++; //new line

        if(tag=='T')
        {
            printf("%d",op-'A'+1);
            tag='F'; //reset
        }

    }
    return 0;
}

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值