蓝桥杯C语言程序设计真题

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

下面是蓝桥杯历年的真题希望对大家有用

 

一、真题

1,隔行变色

Excel表的格子很多,为了避免把某行的数据和相邻行混淆,可以采用隔行变色的样式。
小明设计的样式为:第1行蓝色,第2行白色,第3行蓝色,第4行白色,....
现在小明想知道,从第21行到第50行一共包含了多少个蓝色的行。

思路:很简单的题,由题可知奇数行是蓝色,那么答案就是(50-21+1)/2==15

代码例程如下:

1 #include <bits/stdc++.h>
 2 using namespace std;
 3 
 4 int main() {
 5     int cnt = 0;
 6     for(int i=21; i<=50; ++i)
 7         if(i%2) cnt++;
 8     cout << cnt; 
 9     return 0;
10 }

2,立方尾不变

有些数字的立方的末尾正好是该数字本身。
比如:1,4,5,6,9,24,25,....

请你计算一下,在10000以内的数字中(指该数字,并非它立方后的数值),符合这个特征的正整数一共有多少个。

思路:把立方求出来取最后一位进行判断即可。答案==36

1 #include <bits/stdc++.h>
 2 using namespace std;
 3 
 4 typedef long long LL;
 5 
 6 bool check(LL x) {
 7     LL res = x * x * x;
 8     while(x) {
 9         if((x%10) != (res%10)) return false;
10         x /= 10, res /= 10;
11     }
12     return true;
13 } 
14 
15 int main() {
16     int cnt = 0;
17     for(LL i=1; i<=10000; ++i)
18         if(check(i)) cnt++;
19     cout << cnt << endl;
20     return 0;
21 }

3,三羊献瑞

观察下面的加法算式:其中,相同的汉字代表相同的数字,不同的汉字代表不同的数字。

请你填写“三羊献瑞”所代表的4位数字(答案唯一) 

思路:按顺序用字母代替就变成了abcd+efgb=efcbh  即答案为1085

1 #include <bits/stdc++.h>
 2 using namespace std;
 3 
 4 int main() {
 5     // 此时数字只剩下2 3 4 5 6 7
 6     // 因c=b+1 故b不能为7 
 7     for(int b=2; b<=6; ++b) {
 8         for(int d=2; d<=7; ++d) {
 9             if(d == b) continue; //不能相同 
10             if(d == b+1) continue; // c=b+1
11             if(b+d <= 10) continue; //要大于10,h不能是0
12             int h = b + d - 10;
13             if(h==b || h==d || h==b+1) continue; 
14             if(h==1 || h==8 || h==9) continue;
15             //printf("b=%d d=%d h=%d\n", b, d, h);
16             printf("%d%d%d%d", 1, 0, 8, b);
17         } 
18     } 
19     return 0;
20 }

 

总结


例如:以上就是今天要讲的内容,本文能力有限只列举了蓝桥杯较为简单的题目,仅供参考

  • 5
    点赞
  • 104
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值