我们通过题目来进行对%操作符的解析
1.题目和答案
问题:KiKi今年5岁了,已经能够认识100以内的非负整数,并且并且能够进行 100 以内的非负整数的加法计算。不过,BoBo老师发现KiKi在进行大于等于100的正整数的计算时,规则如下:
-
只保留该数的最后两位,例如:对KiKi来说1234等价于34;
-
如果计算结果大于等于 100, 那么KIKI也仅保留计算结果的最后两位,如果此两位中十位为0,则只保留个位。
例如:45+80 = 25
要求给定非负整数 a和 b,模拟KiKi的运算规则计算出 a+b 的值。
输入描述:
一行,输入两个非负整数a和b,用一个空格分隔。(0 <= a,b<= 231-1)。
输出描述:
针对每组输入,输出按照KiKi的运算规则计算出 a+b 的值。
示例1
输入:
45 80
复制
输出:
25
答案:
#include <stdio.h>
int main() {
int a = 0;
int b = 0;
while(scanf("%d %d",&a,&b)!=EOF)
{
printf("%d",(a+b)%100);
}
return 0;
}
2.解题思路
首先要知道所有整数%2,的出的结果都在0-1之间,所有整数%3,的出的结果都在0-2之间,…所有整数%100,的出的结果在0-99之间,所以我们很轻易的知道比如1234%100,答案就是34,125%100答案是25,此时就很清晰,原来要得到个位和十位,只需要%100,同理,你要得到百位,就需要%1000。
3.知识点
1.整数%100,得到的是这个整数的个位和十位,比如1234%100=34
2.整数%某个数,得出的结果在0到这个数减一之间,比如整数%100,结果在0-99之间。