第三讲 基础运算之整数运算
第三讲 基础运算之整数运算
本节课只要目标是巩固所学知识点,运用编程知识,解决实际问题,夯实基础;伊娃编程OJ题库
特别说明
使用OJ做题注意事项:
请不要有任何多余的输入、输出。
输出格式、顺序要和题目要求完全一致。
特别注意:样例正确,提交后题库不一定会判正确,因为样例只是举例子,题库每个题目在实际提交测试时,会有多组数据进行测试。
此处提供多种语言提交的样例代码,以求两个数之和为例,供大家参考:
C++版:
#include <bits/stdc++.h>
using namespace std;
int main() {//定义两个变量int a,b;cin>>a>>b;//计算它们的和,并输出cout<<a+b;return 0;
}
C语言版:
#include <stdio.h>
int main() {int a,b;int c;scanf("%d%d",&a,&b);c=a+b;printf(“%d”,c);return 0;
}
Python版:
a,b=map(int,input().split())
c=a+b
print(c)
Java版:
注意:Java的类名只能叫Main,才能被判题机识别。
import java.util.Scanner;
public class Main {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);int num1 = scanner.nextInt();int num2 = scanner.nextInt();System.out.println(num1 + num2);}
}
案例实操
之后的课程,均以C++版,提供参考程序;
1311
- -【入门】分跳绳
题目描述: 学校新买来m根跳绳,每个班分n根,最多可以分给几个班的同学,还剩多少根?(m>=n)。
输入: 两个整数,用空格隔开,分别代表总共采购的跳绳数量以及每个班级分到的跳绳数量
输出: 两个整数,用空格隔开,第一个整数代表可以分到的班级的数量,第二个整数代表剩余的跳绳数量
样例: 输入:
100 30 输出:
3 10
解题关键步骤:
1、读懂题意;
2、明确输入几个变量,什么类型;
3、明确输出几个变量,注意输出要求及变量类型;
4、思考解题的运算步骤;
5、编程实现;
参考程序
#include<iostream> // 这是头文件 (工具包)
using namespace std; // 调用std命名空间 (环境)
int main(){ // main 函数 //变量:内存是存储数据的 int m,n;cin >> m >>n;//输入数据 // '/':除(只保留整数部分的值) // '%':取余(只保留余数部分的值) cout<<m/n << " " << m%n;
}
1417
- -【入门】买文具
题目描述: 文具店的水笔的单价是一个整数,小明从文具店买了x支水笔花了y元。请问如果你要从该文具店购买5支水笔需要付多少钱?
输入: 两个整数x和y,用空格隔开,分别代表小明买的水笔的支数和他付给老板的金额
输出: 一个整数,代表如果你买5支水笔,应该付给老板的金额
样例: 输入
10 20 输出
10
参考程序
#include<iostream>
using namespace std;
int main(){int n=5,x,y;//n在定义的同时赋值为5;cin>>x;cin>>y;cout<<n*(y/x)<<endl;
}
1462
- -【入门】小明的游泳时间
题目描述: 伦敦奥运会要到了,小明在拼命练习游泳准备参加游泳比赛。这一天,小明给自己的游泳时间做了精确的计时(本题中的计时都按24小时制计算),它发现自己从a时b分一直游泳到当天的c时d分,请你帮小明计算一下,它这天一共游了多少时间呢?小明游的好辛苦呀,你可不要算错了哦。
输入: 一行内输入4个整数,分别表示a,b,c,d。
输出: 一行内输出2个整数e和f,用空格间隔,依次表示小明这天一共游了多少小时多少分钟。其中表示分钟的整数f应该小于60。
样例: 输入
12 50 19 10 输出
6 20
参考程序1
#include<iostream>
using namespace std;
int main(){int a,b,c,d,e,f;//a,c:表示小时,c,d:表示分钟//思路:统一单位再计算,先把小时转换成分钟,所用的总分钟数=(c*60+d)-(a*60+b)//需要掌握的知识点:时间的转换关系cin>>a>>b>>c>>d;e = ((c*60+d)-(a*60+b)) /60;//取整:所用的总分钟数除以60取整数部分得到小时 f = ((c*60+d)-(a*60+b)) %60;//取余:所用的总分钟数除以60取余数部分得到分钟 cout<<e<<" "<<f; //输出结果
}
参考程序2
#include<iostream>
using namespace std;
int main(){int a,b,c,d,z1,z2,sc;//z1:开始时间到0点的总时间 cin>>a>>b>>c>>d;z1 = a * 60 + b;//以分钟为单位,求总时间 z2 = c * 60 + d; sc = z2 - z1;//求时间差cout<<sc / 60 <<" "<<sc % 60;
}
看到这里,恭喜你,又成功“存活”了一篇C++教程!
C++就像是一辆高性能跑车——速度快,但一不小心就会“翻车”。不过别担心,翻车多了,你就学会修车了(或者至少学会写更好的错误日志)。
记住:
每个
cout << "Hello World!";
的背后,都藏着一个未来可能写出操作系统的你。
每个delete
忘写的new
,都是内存泄漏对你爱的告白。
每个模板元编程的深夜,都是你和编译器“深情对骂”的浪漫时刻。
最后,硬广时间!
如果你想继续解锁更多“C++迷惑行为大赏”,欢迎关注我。当然,如果你发现了更奇葩的Bug——别犹豫,一定是我写的代码,快来吐槽!
记住:具备信奥精神
的我们从不认输,我们只是暂时return -1;
。
下次见,愿你的代码少点bug
,多点constexpr