题解 P3150 【pb的游戏(1)】
一看到以为是博弈论。。。看了好久发现是判断奇数偶数。。
既然是入门题,那就讲一些好玩的操作吧。
先上我的代码:
#include<cstdio>
int main(int i){
scanf("%*d");
while(scanf("%d",&i)==1)
printf((i&1?"zs wins\n":"pb wins\n"));
return 0;
}
接下来讲讲这个代码用到的东西:
scanf("%*d")
仅仅输入一个整数,不做任何操作。
while(scanf("%d",&i)==1)
当输入这个整数时,继续执行循环体。
scanf这个函数是有返回值的,返回值是输入的变量的个数。
i&1
当一个数是奇数时,返回1
是偶数时,返回0
道理是二进制,楼下的题解讲得很清楚了
a?b:c
三目运算符,相当于:
if(a==1)return b;
else return c;
也就是:当a(布尔表达式)为真(1)时,表达式返回b,否则返回c
题解到此结束,希望你能从我的题解中学到一些技巧。
毕竟这样写代码比较优美简洁吧