首页 > 编程语言 >6.3测试题以及参考答案(C++基础)

6.3测试题以及参考答案(C++基础)

时间:2023-06-03 14:33:56浏览次数:50  
标签:语句 10 frac cout int C++ 6.3 正整数 参考答案

测 试 题

总分120,时间180分钟

一、单选题(每题2分,共40分)

  1. C++中表示大于等于用以下哪个关系运算符( B )
    A.> B.>= C.≥ D.>&=
  2. C++中,不等于用以下哪个关系运算符( C )
    A.<> B.≠ C.!= D.==
  3. 表达式7%2的值是多少( B )
    A.0 B.1 C.2 D.-1
  4. 要计算变量B的算术平方根,可以用以下哪个语句( A )
    A.sqrt(B) B.abs(B) C.B*B D.pow(B)
  5. 变量A是一个int类型的变量,它一般占用空间大小是( C )字节。
    A.1 B.6 C.4 D.8
  6. C++中,语句a++;和下面哪个语句效果一致( A )
    A.a=a+1; B.a=1; C.a==1; D.a--;
  7. 有下面两个语句,运行后屏幕输出的结果为( D )
    int a=3;
    cout<<++a;
    
    A.3 B.1 C.a=3 D.4
  8. 下面语句的输出结果为( A )
    int y=21;
    if(y%7==0&&y%2==1) cout<<”ok”;
    else cout<<”no”;
    
    A.ok B.no C.ok no D.无输出
  9. C++程序中,主函数的名字为( A )
    A.main B.mat C.abs D.任意标识符
  10. 要输出一个换行,可以用下面哪个语句( A )
    A.cout<<endl; B.cout<<””; C.cout<<a; D.cout>>endl;
  11. 关于变量的命名,哪个是正确的( D )
    A.3x B.int C.return D.abcd
  12. C++中检测两个变量a,B 是否相等,哪个关系运算式是正确的( C )
    A.a=b B.a==b C.a==B D.a=B
  13. 表达式1.0/2的值是多少( B )
    A.0 B.0.5 C.nan D.2
  14. 我们可以用下面哪个语句将字符’a’强制转化成数值( B )
    A.char(‘a’) B.int(‘a’) C.return ‘a’ D.a++
  15. 想在计算机屏幕上输出一个”hello world”,可以用下面哪个语句( C )
    A.cin<<"hello world";
    B.cin>>"hello world";
    C.cout<<"hello world";
    D.cout>>"hello world";
    
  16. 想给变量x赋值为3,我们可以用下面哪个语句( B )
    A.x>3 B.x=3 C.x=x+1 D.3=x
  17. for 循环语句中continue 表示的意思是( A )
    A.跳到循环变量的下一个值 B.没有任何意义
    C.中断循环 D.退出程序
  18. 运行下面几行语句后,变量a,b的值是多少( C )
    int a,b,t;
    a=3;b=4;
    t=a;a=b;b=t;
    
    A.a=3 b=4 B.a=3 b=3 C.a=4 b=3 D.a=4 b=4
  19. 用下面的语句定义数组,以下描述正确的是( D )
    int d[10];
    A.数组d的元素共10个,分别是d[1]到d[10]
    B.d是一个字符形数组。
    C.数组的大小是11
    D.数组的大小是10
  20. 已知’B’的ASCII值是66,请问’A’的ASCII值是多少( B )
    A.67 B.65 C.66 D.68

二、程序设计(每题20分,共80分)

洛谷在线提交测试,数据是我自己造的,非官方,成绩供参考

  1. 矩形的面积(area,1s,512M)
    小明得到一个红色的矩形,它的长为 \(a\),宽为 \(b\),请你帮小明计算一下矩形的面积。面积公式 \(S=a*b\)。
    输入两个以空格分割的正整数 \(a,b\);输出一个正整数 \(S\)。
    数据保证答案不超过 \(2^{31}-1\)。
  • 参考程序
#include <iostream>
using namespace std;、
int main() {
    int a, b; cin >> a >> b;
    cout << a * b;
    return 0;
}
  1. 结队子(team,1s,512M)
    小明和小张来自两个不同的小学,一天他们结队子做游戏,规则很简单,他们每人独自写一个 \(10\) 以内的正整数,如果他们写出的数相同,则结队子成功(输出”yes”),否则失败(输出”no”)。
    输入两个数,分别表示小明和小张写出的两个正整数。
    输出一个字符串,表示是否成功。
  • 参考程序
#include <iostream>
using namespace std;
int main() {
    int a, b; cin >> a >> b;
    if (a == b) cout << "yes";
    else cout << "no";
    return 0;
}
  1. 求和(sum,1s,512M)
    小明今天接到一个任务,就是计算求 \(1,2,3,...,n\) 的奇数和。由于小明比较懒,他请你帮他算一下。
    输入一个正整数 \(n\),输出一个正整数,表示奇数之和。
    数据规模:
    80%的数据,\(n\) 小于\(10000\);
    90%的数据,\(n\) 小于\(1000000\);
    100%的数据,\(n\) 小于等于 \(2^32\)

问题:求 \(1,2,3,...,n\) 的奇数和,其中 \(n≤2^{32}\)。
等差数列:当首项为 \(a_1\),末项为 \(a_n\),项数为 \(n\),其前 \(n\) 项和 \(s=\frac{(a_1+a_n)* n}{2}\)

分析:循环肯定TLE,明显存在规律,有\(n\) 为奇数和偶数时有不同情况,分情况讨论;

  1. 当 \(n\) 是奇数的时候,\(s=1+3+5+...+n;\)
    假设有 \(k\) 项元素,则 \(1+(k-1)*2=n\),解出 \(k=\frac{n-1}{2}+1=\frac{n+1}{2}\)
    \(s=\frac{(1+n)*k}{2}=\frac{(n+1)^2}{4}\)

  2. 当 \(n\) 是偶数的时候,\(s=1+3+5+...+n-1;\)
    假设有 \(k\) 项元素,则 \(1+(k-1)*2=n-1\),解出 \(k=\frac{n-1-1}{2}+1=\frac{n}{2}\)
    \(s=\frac{(1+n-1)*k}{2}=\frac{(n)^2}{4}\)
    在程序中,为了 n*n 不爆long long, 我们会进行如下的一些优化写法。

  • 参考程序
#include <iostream>
using namespace std;

int main() {
    long long n, s; cin >> n;
    if (n % 2) s = ((n + 1) / 2) * ((n + 1) / 2);
    else s = (n / 2) * (n / 2);
    cout << s;
    return 0;
}
  1. 七仙女(seven,1s,512M)
    七仙女总喜欢与 \(7\) 相关的数字,如果一个数是 \(7\) 的倍数,七仙女喜欢,如果一个数至少有一位含有数值 \(7\)(例如 \(71\) 虽然不是7的倍数,但它的十位数是 \(7\)),则七仙女也喜欢。所以 \(7、14,71,117\),都是七仙女喜欢的数,而 \(6,9\) 则不喜欢,输入 \(n\) 个正整数统计七仙女喜欢的数的个数。
    输入第一行一个正整数 \(n\),表示共有多少个数。接下来一行,\(n\) 个正整数。
    输出一行一个数,表示七仙女喜欢的数的个数。
    数据范围:\(n<1000\),每个整数小于$ 232$。
  • 参考程序
#include <iostream>
using namespace std;

int main() {
    int n, cnt = 0;
    long long a; // unsigned int 也可以
    cin >> n;
    for (int i = 1; i <= n; i++) {
        cin >> a;
        if (a % 7 == 0) cnt++, a = 0;
        while (a) {
            if (a % 10 == 7) break;
            a /= 10;
        }
        if (a) cnt++;
    }
    cout << cnt;
    return 0;
}

标签:语句,10,frac,cout,int,C++,6.3,正整数,参考答案
From: https://www.cnblogs.com/hellohebin/p/17453794.html

相关文章

  • 理解C++底层细节
    理解C++底层细节C++是一门广泛使用的高级编程语言,其语法优雅且易于使用,拥有着强大的面向对象特性以及丰富的标准库。但是,在理解C++的本质之前,我们需要先了解C++的底层细节。C++中的内存管理在C++中,内存管理和分配是至关重要的内容。常见的内存管理问题包括内存泄漏、内存溢出和野指......
  • 1. C++编程简介
    勿在浮沙筑高台课程:C++面向对象程序设计。面向对象,它是一个观念。那么我们要用这种观念来写程序,需要面向对象的语言,而C++就是一个支持面向对象观念的一种语言。上这门课你该具备什么样的基础呢?只要你有这些基础就够了,你曾经学过某一种procedurelanguage,最好是C语言,但是......
  • 6.3《人月神话》阅读笔记
    第十四章-祸起萧墙。当人们听到某个项目的进度发生了灾难性的偏离时,可能会认为项目一定遭受了一系列重大灾难。然而,灾祸来自白蚁的肆虐,而不是龙卷风的侵袭。同样,项目进度经常以一种难以察觉,但是残酷无情的方式慢慢落后。这个真的深有感触,一般都是很小的地方跟自己说,这个地方有特殊......
  • Visual C++ 6.0环境开发PACS影像系统的技术指标和精准算法
    1.技术指标图像文件格式:DCM、JPG、BMP、TIF等可支持显示属性设置:24/32位真彩;256位色(黑白)可支持监视器分辨率:1024﹡768;1280﹡1024;1600﹡1280;1280﹡1600(立式);1536﹡2048(立式);2560﹡2048(立式)图像分辨率:1024﹡1024;512﹡512;256﹡256静态或动态操作平台windowsxpPACS系统-图像处理高级精准算法对图像......
  • keydb 6.3. 3发布
    就在最近keydb发布了6.3.3版本,属于最后支持一些老版本linux的系统了(比如centos7,ubuntu16,18),核心主要是rocksdb对于系统支持的问题同时此版本也进行了不少功能上的fix,最好还是进行系统升级吧,尤其是centos7现在越来越多的软件运行有问题了参考资料https://docs.keydb.dev/htt......
  • 2023.6.3——软件工程日报
    所花时间(包括上课):6h代码量(行):0行博客量(篇):1篇今天,上午学习,下午学习。我了解到的知识点:1.了解了一些数据库的知识;2.了解了一些python的知识;3.了解了一些英语知识;5.了解了一些Javaweb的知识;4.了解了一些数学建模的知识;6.了解了一些计算机网络的知识;......
  • C++面向对象
    文章目录C++类&对象C++类定义定义C++对象访问数据成员类&对象\详解类成员函数类访问修饰符构造函数&析构函数C++拷贝构造函数C++友元函数C++内联函数C++中的this指针C++中指向类的指针C++类的静态成员继承基类&派生类访问控制和集成继承类型多继承继承顺序重载运算符和重载函数C++......
  • C++逆向分析——构造函数和析构函数
    构造函数与析构函数构造函数structStudent{inta;intb;Student(){printf("Look.");}voidInit(inta,intb){this->a=a;this->b=b;}};如上代码中,我们发现了存在一个函数,这个函数没有返回类型并且与结构体名称一样,那这段函数在什么时候执......
  • Mac在VSCode中搭建CC++环境
    Mac在VSCode中搭建C/C++环境https://www.jianshu.com/p/050fa455bc74利用VScode和cmake编译构建C++工程代码https://m.oldpan.me/archives/use-vscode-cmake-tools-build-projectVSCode开发C在Mac的配置https://www.jianshu.com/p/014e6e2c97e2选择C/Cpp:EditConfiguration......
  • 2016第七届蓝桥杯国赛决赛c/c++本科B组试题总结及解题答案
    未完待更新........1.一步之遥从昏迷中醒来,小明发现自己被关在X星球的废矿车里。矿车停在平直的废弃的轨道上。他的面前是两个按钮,分别写着“F”和“B”。小明突然记起来,这两个按钮可以控制矿车在轨道上前进和后退。按F,会前进97米。按B会后退127米。 透过昏暗的灯光,小明看......