第五题 加法模拟器
题目描述
牛牛渐入佳境,他准备做一个加法模拟器来玩玩,输入两个数,分别打印这两个数的横式和竖式运算式子。
输入描述:
输入两个整数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; }
运行结果:
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; }
运行结果:
第六题 判断奇偶
题目描述
判断一个整数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 ; }
运行结果:
C++:
#include<iostream> using namespace std ; int main() { int n ; cin >> n ; if(n%2) cout << "odd" << endl ; else cout << "even" << endl ; return 0 ; }
运行结果:
第七题 一大一小
题目描述
输入两个整数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 ; }
运行结果:
C++:
#include<iostream> using namespace std ; int main() { int x, y ; cin >> x >> y ; cout << y << endl << x ; return 0 ; }
运行结果:
第八题 牛妹数
题目描述
如果一个数是一个偶数而且大于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 ; }
运行结果:
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 ; }
运行结果:
好啦,本篇的题目到这里也就结束了,也希望大家都能掌握上面的题目,去复习巩固C/C++基础知识。在这里想问一下大家,你认为学编程语言需要刷题吗?