文库 真题 蓝桥杯真题

蓝桥杯青少组C++组别12级编程练习真题(第6套,共8套)

蓝桥杯青少组12级真题 蓝桥杯C++真题 DOCX   7页   下载4   2024-02-18   浏览137   收藏7   点赞9   评分-   免费文档
温馨提示:当前文档最多只能预览 2 页,若文档总页数超出了 2 页,请下载原文档以浏览全部内容。
蓝桥杯青少组C++组别12级编程练习真题(第6套,共8套) 第1页
蓝桥杯青少组C++组别12级编程练习真题(第6套,共8套) 第2页
剩余5页未读, 下载浏览全部
蓝桥等考C++组别 十二 级 第一部分:选择题 1、C++ L 12 (15分) 函数 f un的定义如下,它的作用是( )。 bool fun(int x, int y) { if(x % y == 0) return true; return false; } 求x和y的所有约数 判断x是不是偶数 判断x是不是质数 判断x能不能被y整除 正确答案: D 2、C++ L 12 (15分) 下面关于函数的说法,错误的是( )。 程序中 可以只有主函数,但不能只有子函数 函数 必须有确定的返回值 在 函数外部声明的变量是全局变量 函数 的形式参数属于局部变量 正确答案: B 3、C++ L 12 (20分) 下面哪个函数可以将一个多位数颠倒过来(如:1 23 变成3 21 ,假设多位数不包含0)?( ) int fun(int x) { int y = 0; while(x > 0){ y = y * 10 + x % 10; x /= 10; } return y; } int fun(int x) { int y = 0; while(x > 0){ x /= 10; y++; } return y; } int fun(int x) { int y = 0; while(x > 0){ y += x % 10; x /= 10; } return y; } int fun(int x) { int y = 0; while(x > 0){ y += x / 10; x /= 10; } return y; } 正确答案:A 第二部分:编程题 4、C++ L 12 整数的位数(20分) 题目名称: 整数的位数 题目描述: 输入一个正整数n,输出 它是几位数。 输入: 一个正整数 n( 1<= n<= 100,00 0) 。 输出: 一 个正整数,为 n的位数 。 输入样例: 13256 输出样例: 5 参考程序: #include <iostream> using namespace std; int Fun(int x) { int y = 0; while(x > 0) { x /= 10; y++; } return y; } int main(){ int n; cin >> n; cout << Fun(n); return 0; } 测试数据: 1.in 13256 1.out 5 2.in 23 2.out 2 3.in 9 3.out 1 4.in 980 4.out 3 5.in 1200 5.out 4 5、C++ L 12 石头剪刀布 (30分) 题目名称: 石头剪刀布 题目描述: 小蓝和 两个小朋友玩“石头剪刀布”的游戏 。 一局游戏中,三个人同时出一个手势“石头”、“剪刀”或“布”,这三种手势的胜负关系是“石头”>“剪刀”,“剪刀”>“布”,“布”>“石头”。 如果三个人的手势都相同或都不相同,这局游戏是平局; 只有在两个人手势相同的时候,才能分出胜负,其中: 如果小蓝能赢其余两人中至少一人,小蓝胜利(注意:胜利的可能不止他一个); 如果小蓝不能赢任何人,小蓝失败(失败的可能也不止他一个)。 下图的两个例子,都能分出胜负。 用数字 2代表“石头”,1代表“剪刀”,0代表“布”,输入n局游戏三个人的手势,每局包含3个数字,其中第一个代表小蓝的手势。输出小蓝在这n局中的胜负情况。 输入: 第一行一个正整数 n(n<= 2 0) ,表示游戏的局数; 后面n 行,每行 包含 3 个 数字(只能是2,1或0),代表这一局游戏三个人的手势,每局第一个数字是小蓝的手势。相邻两个数字之间用一个空格隔开。 输出: 一行,包含n个字符,为小蓝在这n局游戏中的胜负情况,“W” 代表胜利,“L”代表失败,“N”代表平局,相邻两个字符之间用一个空格隔开。 输入样例: 8 1 1 1 0 2 1 1 0 0 0 2 2 2 1 2 1 2 2 0 0 2 1 1 0 输出样例: N N W W W L W W 参考程序: #include <iostream> using namespace std; int n; int a[ 21 ][3]; char Fun(int x, int y, int z) { if(x != y && x != z && y != z || x == y && x == z && y == z) return 'N'; //平局 else if(x == (y + 1) % 3 || x == (z + 1) % 3) return 'W'; //小蓝赢 else return 'L'; //小蓝输 } int main(){ cin >> n; for(int i = 0; i < n; i++) { for(int j = 0; j < 3; j++) { cin >> a[i][j]; } } for(int i = 0; i < n; i++) { cout << Fun(a[i][0], a[i][1], a[i][2]) <<" "; } return 0; } 测试数据: 1.in 8 1 1 1 0 2 1 1 0 0 0 2 2 2 1 2 1 2 2 0 0 2 1 1 0 1.out N N W W W L W W 2.in 9 1 1 0 0 0 0 0 1 0 2 1 2 1 2 1 0 2 1 1 1 1 2 1 2 1 1 0 2.out W N L W L N N W W 余下略
蓝桥杯青少组C++组别12级编程练习真题(第6套,共8套)
下载提示

下载及版权说明:6547网文库内容来自网络及各平台公开内容(属于用户上传,不保证正确性,只做参考),旨在帮助同学们学习少儿编程相关知识及内容,仅限内部学习及使用,以分享为主,下载本文档之后请合法使用相关、真题、素材、课件、教程等内容,若内容存在侵权,请进行 举报 及查看 免责声明