文库 真题 蓝桥杯真题

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

蓝桥杯青少组17级真题 蓝桥杯C++真题 DOCX   4页   下载5   2024-02-19   浏览159   收藏7   点赞14   评分-   免费文档
温馨提示:当前文档最多只能预览 2 页,若文档总页数超出了 2 页,请下载原文档以浏览全部内容。
蓝桥杯青少组C++组别17级编程练习真题(第3套,共6套) 第1页
蓝桥杯青少组C++组别17级编程练习真题(第3套,共6套) 第2页
剩余2页未读, 下载浏览全部
蓝桥等考C++组别 十七 级 第一部分:选择题 1、 C++ L17 ( 15 分) 关于C++的类,以下说法不正确的是( )。 A . 声明为public的成员可以在类的外部访问 B. 声明为private的成员可以在类的内部访问 C. 类里可以定义成员变量,但不可以定义成员函数 D. 在类里面定义的成员变量可以和外部变量重名 正确答案:C 2 、C++ L17 ( 15 分) 执行以下代码之后,s 1 的值是( )。 string s1 = "abc"; string s2 = "1"; s1 += s2; A . 1 abc B. abc 1 C . bcd D. abd 正确答案:B 3 、C++ L17 (20分) 执行以下代码,输出结果是( )。 string s = "Hello,Lanqiao!"; string f = ",!"; int p1 = s.find_last_of(f, 6); cout << p1; A . 5 B. 6 C. 13 D. 14 正确答案:A 第二部分:编程题 4、 C++ L17 以 “ bi ”开头的单词数量( 2 0分) 题目名称: 以“bi”开头的单词数量 题目描述: 给定若干个英文单词,单词之间 以 一个空格隔开, 请 统计出所有以“bi”开头的单词数量。 例如: 给定的英文单词 为 : g ate biweekly bike cook men 其中,以“bi”开头的有 biweekly 和 bike ,故输出2。 输入: 仅1行,包含若干个英文单词( 单词都为 小写字母,单词长度大于2且小于1 1 ),单词之间 以 一个空格隔开,总长度不超过 250 。 输出: 一个整数,表示以“bi”开头的单词数量。 输入样例: g ate biweekly bike cook men 输出样例: 2 参考程序: #include<iostream> #include<string> using namespace std; int main() { string s; int cnt = 0; while(cin >> s) { int len = s.size(); if (s[0] == 'b' && s[1] == 'i') cnt++; } cout << cnt; return 0; } 测试数据: 1.in gate biweekly bike cook men 1.out 2 2.in qimy biannual zfffscfl biweekly pncxkb ekph wlxybxii referer 2.out 2 余下见附件目录下 testcase .txt 5、 C++ L17 加法算式( 3 0分) 题目名称: 加法算式 题目描述: 小蓝在黑板上看到一个数学算式题,算式题的形式类似于“ a + ? = b ”,其中a、b代表两个整数。小蓝用手机对这个算式进行拍照扫描并转换成了字符串,转换后 的 字符串中夹杂了多余的空格。 这时小蓝将转换后的字符串给到你,要求你帮助他 计算出问号 代表多少时 ,才能使算式成立。 例如: 字符串为:“ 2 1 + ? = 3 3 ” 问号为1 2 时算式成立。 输入: 输入 1个 夹杂了多余空格 的 字符串 ,表示 拍照扫描并转换成 的 字符串(字符串长度<= 10 0 ,且字符串去掉夹杂的空格后的形式类似题目描述给出的形式 )。 题目数据保证算式中的整数都不大于1 000 。 输出: 一个整数,表示问号 代表 的 值 。 输入样例: 2 1 + ? = 3 3 输出样例: 12 参考程序: #include<iostream> #include<string> using namespace std; int str2i(string s); int main() { string s, s1, s2; getline(cin, s); int pos1 = s.find("+"); s1 = s.substr(0, pos1 + 1); pos1 = s.find("="); s2 = s.substr(pos1); cout << str2i(s2) - str2i(s1)<< endl; return 0; } int str2i(string s) { int res = 0; for (int i = 0; i <= s.size(); i++) { if (s[i] >= '0' && s[i] <= '9') { res = res * 10 + s[i] - '0'; } } return res; } 测试数据: 1.in 2 1 + ? = 3 3 1.out 12 2.in 5 + ? = 9 2.out 4 3.in 1 + ? = 7 3.out 6 4.in 1 4 + ? = 4 1 9 4.out 405 5.in 1 5 6 + ? = 6 0 1 5.out 445
蓝桥杯青少组C++组别17级编程练习真题(第3套,共6套)
下载提示

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