【牛客刷题】带你在牛客刷题第四弹(C/C++语言基础)下

简介: 笔记

第五题 加法模拟器


题目描述

牛牛渐入佳境,他准备做一个加法模拟器来玩玩,输入两个数,分别打印这两个数的横式和竖式运算式子。


输入描述:


输入两个整数a, b 以空格隔开


0 <= a, b <= 1000

输出描述:


第一行打印横式运算式子,接下来四行打印竖式运算式子

示例1


输入

45 237


输出

45+237=282

    45

+   237

-------

   282


备注:

注意printf的时候使用%xd来进行右对齐 ,x是一个数字

讲解:

这道题目的本质并不难,就是考一个加法,只不过这个输出比较有意思,他需要右对齐,也就是需要用到我们的%xd,那什么是%xd呢?


%xd,其中这个x是你的输出长度,就是如果你想输出123,那你x取7的话,这样你输出的123前面就会有4个空格,那么这道题也是这样,只不过我们的第二行因为有+的存在我们前面的空格要比其他行数的少一个才对。


AC:

C语言:


#include<stdio.h>
int main()
{
    int a, b, c ;
    scanf("%d%d", &a, &b) ;
    c = a + b ;
    printf("%d+%d=%d\n", a, b, c) ;
    printf("%7d\n+%6d\n-------\n%7d",a,b,c) ;
    return 0;
}

运行结果:

9.png



C++:

#include<iostream>
using namespace std ;
int main()
{
    int a, b, c ;
    cin >> a >> b ;
    c = a + b ;
    cout << a << "+" << b << "=" << c << endl ;
    printf("%7d\n+%6d\n-------\n%7d",a,b,c) ;
    return 0;
}

运行结果:

10.png



第六题 判断奇偶


题目描述

判断一个整数n是奇数还是偶数,如果是奇数,输出"odd", 否则输出"even"


输入描述:


输入一个整数n(1 <= n <= 100)

输出描述:


输出odd或者even

示例1


输入


2

输出


even

示例2


输入


1

输出


odd


讲解:

这道题目就是判断奇偶的,那我们的判断方法自然也就使用 ”%“ 了,一个数%2,那如果是0就为偶数;如果是1,就为奇数啦。


可以注意到在代码中很有意思的一点是我在if语句中没有进行判断,也就是没有判断其取余是否等于0,但也可以ac,主要是因为我们这道题奇数就返回的是1,偶数就返回的是0,他已经给你分类好了,如果是奇数,返回1,if语句可以执行;如果是偶数,返回0,需要跳转到else语句中去进行实现。


AC:

C语言:


#include<stdio.h>
int main()
{
    int n ;
    scanf("%d",&n) ;
    if(n%2)    printf("odd\n") ;
    else    printf("even\n") ;
    return 0 ;
}

运行结果:

11.png



C++:


#include<iostream>
using namespace std ;
int main()
{
    int n ;
    cin >> n ;
    if(n%2)    cout << "odd" << endl  ;
    else    cout << "even" << endl  ;
    return 0 ;
}

运行结果:

12.png



第七题 一大一小


题目描述

输入两个整数X,Y,通过交换将大的数放在X中,小的数放在Y中。


输入描述:


输入一行,包含两个整数X,Y

输出描述:


输出两行,每行一个整数,输出交换后的X, Y

示例1


输入


4 5

输出


5

4


讲解:

这道题目想考察的知识点是我们如何进行两个数的交换,交换两个数的方法是,我们先创建第三个变量,将第一个变量的值赋给第三个变量,然后将第二个变量的值赋给第一个变量,紧接着我们将第三个变量的值赋给第二个变量就可以了。


当然这道题目出的确实挺憨的,因为我们不用上面那种交换也可以完成,就像我C++写的代码一样,我们输入时的顺序和我们输出时的顺序一对调,我们不就可以完成了嘛!但是我们写题是为了掌握知识,所以这道题考察的知识点我们还是一点要学会掌握的,不要为了写题而写题。


AC:

C语言:


#include<stdio.h>
int main()
{
    int x, y, tmp ;
    scanf("%d%d",&x, &y) ;
    tmp = x ;
    x = y ;
    y = tmp ;
    printf("%d\n%d",x, y) ;
    return 0 ;
}


运行结果:

13.png



C++:


#include<iostream>
using namespace std ;
int main()
{
    int x, y ;
    cin >> x >> y ;
    cout << y << endl << x ;
    return 0 ;
}

运行结果:

14.png



第八题 牛妹数


题目描述

如果一个数是一个偶数而且大于50,我们称它为牛妹数


给你一个数,判断它是否是牛妹数


输入描述:


输入一个整数n (1 <= n <= 100)

输出描述:


如果是牛妹数,输出"yes", 否则输出"no"

示例1


输入


50

输出


no

示例2


输入


52

输出


yes


讲解:

这道题目事项考察我们关系逻辑运算符的,也就是其中的一个”&&"的。首先我们已经知道一个属取余2为1是奇数,为0是偶数了,然后”&&"它的意思是,逻辑与运算符。如果两个操作数都非零,则条件为真。也就是A && B ,当A和B同时为真的时候,这个A && B才为真。


所以我们可以利用这个运算符,使其去满足n为偶数且n大于50的条件了。


AC:

C语言:

#include<stdio.h>
int main()
{
    int n ;
    scanf("%d",&n) ;
    if(n%2 == 0 && n>50)    printf("yes\n") ;
    else    printf("no\n") ;
    return 0 ;
}

运行结果:

15.png



C++:


#include<iostream>
using namespace std ;
int main()
{
    int n ;
    cin >> n ;
    if(n%2==0 && n>50)    cout << "yes" << endl  ;
    else    cout << "no" << endl  ;
    return 0 ;
}

运行结果:

16.png



好啦,本篇的题目到这里也就结束了,也希望大家都能掌握上面的题目,去复习巩固C/C++基础知识。在这里想问一下大家,你认为学编程语言需要刷题吗?


相关文章
|
2月前
|
C++
C++ 语言异常处理实战:在编程潮流中坚守稳定,开启代码可靠之旅
【8月更文挑战第22天】C++的异常处理机制是确保程序稳定的关键特性。它允许程序在遇到错误时优雅地响应而非直接崩溃。通过`throw`抛出异常,并用`catch`捕获处理,可使程序控制流跳转至错误处理代码。例如,在进行除法运算或文件读取时,若发生除数为零或文件无法打开等错误,则可通过抛出异常并在调用处捕获来妥善处理这些情况。恰当使用异常处理能显著提升程序的健壮性和维护性。
58 2
|
2月前
|
算法 C语言 C++
C++语言学习指南:从新手到高手,一文带你领略系统编程的巅峰技艺!
【8月更文挑战第22天】C++由Bjarne Stroustrup于1985年创立,凭借卓越性能与灵活性,在系统编程、游戏开发等领域占据重要地位。它继承了C语言的高效性,并引入面向对象编程,使代码更模块化易管理。C++支持基本语法如变量声明与控制结构;通过`iostream`库实现输入输出;利用类与对象实现面向对象编程;提供模板增强代码复用性;具备异常处理机制确保程序健壮性;C++11引入现代化特性简化编程;标准模板库(STL)支持高效编程;多线程支持利用多核优势。虽然学习曲线陡峭,但掌握后可开启高性能编程大门。随着新标准如C++20的发展,C++持续演进,提供更多开发可能性。
56 0
|
6天前
|
算法 C++
2022年第十三届蓝桥杯大赛C/C++语言B组省赛题解
2022年第十三届蓝桥杯大赛C/C++语言B组省赛题解
12 5
|
10天前
|
存储 编译器 C语言
深入计算机语言之C++:类与对象(上)
深入计算机语言之C++:类与对象(上)
|
10天前
|
存储 分布式计算 编译器
深入计算机语言之C++:C到C++的过度-2
深入计算机语言之C++:C到C++的过度-2
|
10天前
|
编译器 Linux C语言
深入计算机语言之C++:C到C++的过度-1
深入计算机语言之C++:C到C++的过度-1
|
1月前
|
JavaScript 前端开发 测试技术
一个google Test文件C++语言案例
这篇文章我们来介绍一下真正的C++语言如何用GTest来实现单元测试。
16 0
|
2月前
|
编译器 C++ 容器
C++语言的基本语法
想掌握一门编程语言,第一步就是需要熟悉基本的环境,然后就是最重要的语法知识。 C++ 程序可以定义为对象的集合,这些对象通过调用彼此的方法进行交互。现在让我们简要地看一下什么是类、对象,方法、即时变量。 对象 - 对象具有状态和行为。例如:一只狗的状态 - 颜色、名称、品种,行为 - 摇动、叫唤、吃。对象是类的实例。 类 - 类可以定义为描述对象行为/状态的模板/蓝图。 方法 - 从基本上说,一个方法表示一种行为。一个类可以包含多个方法。可以在方法中写入逻辑、操作数据以及执行所有的动作。 即时变量 - 每个对象都有其独特的即时变量。对象的状态是由这些即时变量的值创建的。 完整关键字
55 2
|
3月前
|
前端开发 编译器 程序员
协程问题之为什么 C++20 的协程代码比其他语言的协程 demo 长很多如何解决
协程问题之为什么 C++20 的协程代码比其他语言的协程 demo 长很多如何解决
|
4月前
|
存储 Java C#
C++语言模板类对原生指针的封装与模拟
C++|智能指针的智能性和指针性:模板类对原生指针的封装与模拟