【万人千题计划11.18】C语言解题报告

1,判断国际象棋棋盘中一个格子的颜色

1812. 判断国际象棋棋盘中一个格子的颜色 - 力扣(LeetCode) (leetcode-cn.com)

bool squareIsWhite(char * coordinates)
{
     int i=*(coordinates+1)-'0';
     switch(*(coordinates))
     {
         case'a':
         case'c':
         case'e':
         case'g':
           if(i%2==0)
           return true;
           else
           return false;
          case'b':
         case'd':
         case'f':
         case'h':
         if(i%2!=0)
         return true;
         else
         return false; 
     }
     return 0;
}

找到棋盘中的规律,用switch语句就可以解决。

2,速算机器人

LCP 17. 速算机器人 - 力扣(LeetCode) (leetcode-cn.com)

int calculate(char* s)
{
    int x=1,y=0;
    char* p=s;
    int i=0;
    while(*(p+i)!='\0')
    {
        switch(*p)
        {
            case'A':
            x=2*x+y;
            break;
            case'B':
            y=2*y+x;
            break;
        }
        i++;
    }
    return x+y;
}

依然是switch语句解决。

3执行操作之后的变量值

2011. 执行操作后的变量值 - 力扣(LeetCode) (leetcode-cn.com)

int finalValueAfterOperations(char ** operations, int operationsSize)
{
       int i=0;
       int x=0;
       while(i<operationsSize)
       {
          if(strcmp(*(operations+i),"X++")==0||strcmp(*(operations+i),"++X")==0)
            x+=1;
          if(strcmp(*(operations+i),"X--")==0||strcmp(*(operations+i),"--X")==0)
             x-=1;
          i++;
       }
       return x;
       
}

,用上strcmp判断字符串是否相同就可以解决啦。

今天的C语言就到这里。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值