文库 真题 蓝桥杯真题

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

蓝桥杯青少组17级真题 蓝桥杯C++真题 DOCX   4页   下载7   2024-02-19   浏览189   收藏10   点赞10   评分-   免费文档
温馨提示:当前文档最多只能预览 2 页,若文档总页数超出了 2 页,请下载原文档以浏览全部内容。
蓝桥杯青少组C++组别17级编程练习真题(第5套,共6套) 第1页
蓝桥杯青少组C++组别17级编程练习真题(第5套,共6套) 第2页
剩余2页未读, 下载浏览全部
蓝桥等考C++组别 十七 级 第一部分:选择题 1、 C++ L17 ( 15 分) 假定有代码 : class Box // 矩形盒 { private: int width; // 宽 int height;// 高 public: void set_ s ize(int x, int y) { width = x; height = y; } int get_ a rea() // 计算面积 { return width * height; } } box1; int main() { box1.set_size(3, 5); _ ____________________ return 0; } 要输出 box1 的面积, 以上代码 下划线处应填写( )。 A . cout << Box.get_area(box1); B. cout << box1.width * box1.height; C. cout << box1.get_area(); D. cout << Box.get_area(); 正确答案:C 2 、C++ L17 ( 15 分) 执行以下代码,输入“ I love C++ ”,输出的是( )。 string s1; cin >> s1; for (int i = 0; i < s1.size(); i++) { s1[i] = tolower(s1[i]); } cout << s1 << endl; A . i love c++ B. i love C++ C . I D. i 正确答案: D 3 、C++ L17 (20分) 执行以下代码,输出结果是( )。 string s = "Hello,xiaol an !"; string f = "l"; int p1 = s.rfind(f, 5); cout << p1; A . 3 B. 4 C. 10 D. 11 正确答案:A 第二部分:编程题 4、 C++ L17 单词的个数( 2 0分) 题目名称: 单词的个数 题目描述: 给出一个包含若干个单词的字符串, 请 编写程序计算出字符串中包含的单词个数。 例如: 输入 的 字符串为 : I love music 包含3个单词,故输出 3 。 输入: 仅1行,包含若干个单词,单词之间 以 一个空格隔开,总长度不超过 500 。 题目数据保证单词全部由英文字母组成。 输出: 一个整数,表示输入 的 字符串中包含的单词个数。 输入样例: I love music 输出样例: 3 参考程序: #include<iostream> #include<string> using namespace std; int main() { string s; int cnt = 0; while (cin >> s) { cnt++; } cout << cnt; return 0; } 测试数据: 1.in I love music 1.out 3 2.in fpxuqhfxpnddvvl tl joayjwdmxm nhqmngqdpejbxgcbclr hrknvxdxeqijabmmb 2.out 5 余下略 5、 C++ L17 命名法转换( 3 0分) 题目名称: 命名法转换 题目描述: 帕斯卡命名法指当标识符是由两个或两个以上单词连在一起构成时,每个单词只有首字母大写,其它字母都是小写。 例如:G ate Width、 RoadLength 、UserName、T otalCost 、User Balance 下划线命名法是将多个单词使用下划线来连接(单词都为小写字母)。 例如: g ate_width 、ro ad_length 、 user _ name 、t otal_cost 、u ser_balance 现在给定若干个符合帕斯卡命名法的标识符,请你 按照以下规则 编写程序将它们转换成符合下划线命名法的名称。 规则: 在 帕斯卡命名标识符 中所有大写字母前加一个下划线(除首字母); 再将 帕斯卡命名标识符 中所有大写字母转为小写字母。 例如:G ate Width转换为g ate_width , RoadLength 转换为ro ad_length ,UserName转换为 user _ name ,T otalCost 转换为t otal_cost ,User Balance 转换为u ser_balance 输入: 一个字符串,包含若干个标识符,标识符之间 以 一个空格隔开,总长度不超过 500 。 题目数据保证符合: 标识符仅包含英文字母 组成标识符的单词数量不小于2,单词长度介于2 ~10 之间 标识符数量不超过5 0 输出: 一个字符串,表示将所有给定的标识符转换为下划线命名法的结果。相邻两个标识符之间以一个空格分隔。 输入样例: G ate Width RoadLength 输出样例: g ate_width ro ad_length 参考程序: #include<iostream> #include<string> using namespace std; string P2U(string s); int main() { string s, res; while(cin >> s) { res = P2U(s); cout << res << ' '; } return 0; } string P2U(string s) { string r = tolower(s[0]); for (int i = 1; i < s.size(); i++) { if (s[i] >= 'A' && s[i] <= 'Z') { r += "_"; r += tolower(s[i]); } else { r += s[i]; } } return r; } 测试数据: 1.in GateWidth RoadLength 1.out gate_width road_length 2.in MxBn DlCz SeBb OicTetQvd TvoZxdJfz 2.out mx_bn dl_cz se_bb oic_tet_qvd tvo_zxd_jfz 余下略
蓝桥杯青少组C++组别17级编程练习真题(第5套,共6套)
下载提示

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