文库 真题 蓝桥杯真题

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

蓝桥杯青少组12级真题 蓝桥杯C++真题 DOCX   6页   下载7   2024-02-18   浏览133   收藏8   点赞9   评分-   免费文档
温馨提示:当前文档最多只能预览 2 页,若文档总页数超出了 2 页,请下载原文档以浏览全部内容。
蓝桥杯青少组C++组别12级编程练习真题(第5套,共8套) 第1页
蓝桥杯青少组C++组别12级编程练习真题(第5套,共8套) 第2页
剩余4页未读, 下载浏览全部
蓝桥等考C++组别十二级 第一部分:选择题 1、C++ L12 (15分) 在C++中,以下对主函数和子函数的描述不正确的是( )。 A. 程序中除了主函数以外的函数都是子函数 B. 完整的程序中可以没有子函数,但不能没有主函数 C. 程序中子函数可以单独执行 D. 程序中子函数名不能与主函数名相同 正确答案:C 2、C++ L12 (15分) 关于C++的函数体,以下描述不正确的是( )。 A. 函数中最外层的一对大括号“ {} ” 括 起来的语句组成了一个函数的函数体 B. 函数体内的语句决定该函数的功能 C. 一个函数的函数体中可以定义另一个函数 D. 一个函数的函数体中可以调用另一个函数 正确答案:C 3、C++ L12 (20分) 执行以下代码,程序的输出是( )。 void xchange(int a, int b) { int tmp = a; a = b; b = tmp; cout << a << ' ' << b << endl; } int main() { int m = 1, n = 100; xchange(m, n); cout << m << ' ' << n << endl; return 0; } A . 1 100 100 1 B. 1 00 1 1 00 1 C. 1 100 1 100 D. 1 00 1 1 100 正确答案:D 第二部分:编程题 4、C++ L12 “1”出现的次数( 2 0分) 题目名称: C++ L12 “1”出现的次数 题目描述: 给定两个正整数m、n,在纸上写下从m到n的所有整数,然后数一下数字“1” 出现的次数。 例如:当m =1 ,n= 2 时,写下1,2。总共出现了1个“1”; 当m =8 ,n=12时,写下8,9,10,11,12。总共出现了 4 个“1”。 请设计程序来统计从m到n之间(含m和n)所有整数中数字“1”出现的次数。 输入: 输入两个正整数m、n( 0 < m < n < 1,000,000 )。 输出: 输出一个整数 , 表示 数字“1”出现的次数。 输入样例: 8 12 输出样例: 4 参考代码: #include<iostream> using namespace std; int cnt1(int k) { int s = 0; while (k) { if (k % 10 == 1) s++; k /= 10; } return s; } int main() { int m, n, s = 0; cin >> m >> n; for (int i = m; i <= n; i++) { s += cnt1(i); } cout << s; return 0; } 测试数据: 1.in 8 12 1.out 4 2.in 1 122 2.out 56 3.in 2000 9000 3.out 2100 4.in 20000 30000 4.out 4000 5.in 100000 999999 5.out 550000 5 、C++ L12 亲和数( 3 0分) 题目名称: C++ L12 亲和数 题目描述: 在遥远的古代,人们发现某些自然数之间有特殊的关系:如果两个数a和b,a除 了它 本身以外的所有 因 数之和等于b,b除 了它 本身以外的所有因数之和等于a,则称a,b是一对亲和数。 例如当 a=220 , b = 284 时,2 20 除了2 20 之外的因数 包括1,2,4,5,10,11,20,22,44,55,110, 和 是 2 84 ;2 84 除了2 84 之外的因数 包括1,2,4,71,142, 和 是220 。 现给定若干对正整数,判断每一对数是否是亲和数。 输入: 有若干行,第一行是一个正整数n,表示后面输入数据的行数( 0 < n < = 1 00 ); 接下来有n行,每行包含两个正整数(不大于 2,000 , 000 ),两数中间用空格隔开。 输出: 有n行 , 每行都只有 一个整数 ,按输入顺序依次输出对应的两个数是否为亲和数,1表示是亲和数,0表示不是亲和数。 输入样例: 2 220 284 2 2 28 输出样例: 1 0 参考代码: #include <iostream> using namespace std; int divsum(int); int main() { int n, num_1,num_2; cin >> n; for (int i = 1; i <= n; i++) { cin >> num_1 >> num_2; if (divsum(num_1) == num_2 && num_1 == divsum(num_2)) cout << 1 <<endl; else cout << 0 << endl; } } int divsum(int x) { int sum = 0; for( int i = 1 ; i < x ; ++i ) { if( x % i == 0 ) { sum += i; } } return sum; } 测试数据: 1.in 2 220 284 22 28 1.out 1 0 余下略
蓝桥杯青少组C++组别12级编程练习真题(第5套,共8套)
下载提示

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