【牛客刷题】带你在牛客刷题第四弹(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++基础知识。在这里想问一下大家,你认为学编程语言需要刷题吗?


相关文章
|
1月前
|
算法 编译器 C语言
C++语言的“Hello World”
C++语言的“Hello World”
15 0
|
1月前
|
编译器 C++
C++语言中const的用法
C++语言中const的用法
13 0
|
1月前
|
存储 编译器 C++
在C++语言中计算并打印出两个数的求和
在C++语言中计算并打印出两个数的求和
22 0
|
1月前
|
C++
C++语言中流程控制
C++语言中流程控制
14 0
|
1月前
|
程序员 API C语言
在C++语言的标准I/O库
在C++语言的标准I/O库
10 0
|
1月前
|
C++
在C++语言中return语句
在C++语言中return语句
20 0
在C++语言中return语句
|
1月前
|
程序员 C++ 索引
在C++语言中Vector的命名空间的作用
在C++语言中Vector的命名空间的作用
15 0
|
9天前
|
缓存 编译器 API
NumPy与其他语言(如C/C++)的接口实践
【4月更文挑战第17天】本文介绍了NumPy与C/C++的接口实践,包括Python与C/C++交互基础、NumPy的C API和Cython的使用。通过案例展示了如何将C++函数与NumPy数组结合,强调了内存管理、类型匹配、错误处理和性能优化的最佳实践。掌握这些技能对于跨语言交互和集成至关重要。
|
18天前
|
程序员 C++
C++语言模板学习应用案例
C++模板实现通用代码,以适应多种数据类型。示例展示了一个计算两数之和的模板函数`add&lt;T&gt;`,可处理整数和浮点数。在`main`函数中,展示了对`add`模板的调用,分别计算整数和浮点数的和,输出结果。
12 2
|
1月前
|
Java API 开发工具
【软件设计师备考 专题 】C、C++、Java、Visual Basic、Visual C++等语言的基础知识和应用(三)
【软件设计师备考 专题 】C、C++、Java、Visual Basic、Visual C++等语言的基础知识和应用
30 0