第 12 届蓝桥杯 C++ 青少组中 / 高级组选拔赛( STEMA ) 2020 年 11 月 22 日
真题第一题
解题思路:
第一:因为有整数集合的求和字样(所以用for循环来做)
第二:题中让我们累加1到N,所以要用到累加器
累加器公式:int m=0
m=m+i
第三:限制要求奇数和,所以用到if。
if 除了可以分支运行之外,还能限制特定条件输出,只有满足特定条件才输出
解题思路:
1.因为题中让我们比较正方形和长方形的面积大小,所有肯定有 if 判断,并且是判断两个变量大小,并分支输出谁大谁小
两个变量分别是正方形面积和长方形面积,所以要先想到正方形和长方形的面积公式
正方形面积公式:a*a 长方形面积公式:b*c
2.if中判断正方形面积是 > , < 或==长方形面积
4.在每个if判断后都输出对应的字符串
解题思路:
1.因为题中让我们输出11到n中的数位递增数,所以要用for循环
2.因为题中让我们输出11到n中数位递增数的个数,所以要用累加器累加个数
累加器公式:int m=0; m=m+i;
3.因为数位递增数是正整数任何一个数位小于等于右边相邻的数位,所以要把所有数位列出来
int g=i%10;//个位
int s=i%100/10;//十位
int b=i%1000/100;//百位
int q=i%10000/1000;//千位
int w=i/10000;//万位 (因为11<n<10001,所以最大到万位)
4.因为要判断是否为数位递增数,所以要用if判断
5.每当if判断到数位递增数,累加器就要加1
6.最后cout输出累加器个数
作业,除了个数,请输出具体有哪些数,并用空格分隔