1、C++编程中的基本运算 - 习题解析 - 整数运算

解析部分:

整数运算

1311. 分跳绳

学校新买来 m 根跳绳,每个班分 n 根,最多可以分给几个班的同学,还剩多少根?(m≥n)。

解题思路

针对问题“学校新买来 m 根跳绳,每个班分 n 根,最多可以分给几个班的同学,还剩多少根?”的解题思路如下:

  1. 读入数据:从输入中读取两个整数,mn,分别代表跳绳的总数和每个班级分配的跳绳数量。
  2. 计算分配数量:通过整数除法 m / n 计算可以分配给多少个班级。这里的结果是一个整数,表示完全分配给班级的跳绳包数量。
  3. 计算剩余数量:使用取余运算 m % n 确定在分配给班级之后剩余的跳绳数量。这里的结果表示未能完全分配成一个班级包的剩余跳绳数。
  4. 输出结果:输出两个数,第一个是可以分配的班级数量,第二个是剩余的跳绳数量。
代码实现
#include <iostream> // 引入标准输入输出库
using namespace std; // 使用标准命名空间

int main() {
    int m, n; // 定义整型变量 m 和 n 分别表示跳绳总数和每班分配的跳绳数
    cin >> m >> n; // 通过标准输入读取 m 和 n 的值

    // 使用整数除法计算最多可以分配给多少个班
    int classes = m / n; 

    // 使用取余运算计算分配后剩余的跳绳数量
    int remaining = m % n; 

    // 输出可分配的班级数量和剩余的跳绳数量
    cout << classes << " " << remaining; 

    return 0; // 程序正常结束
}
代码解析
  1. int m, n;:定义两个整型变量 m 和 n 来存储用户输入的跳绳总数和每班分配的数量。
  2. cin >> m >> n;:使用 cin 从标准输入读取跳绳总数和每班分配的数量。
  3. int classes = m / n;:计算并存储可以分配给班级的跳绳包数量。
  4. int remaining = m % n;:计算并存储在分配过程中剩余的跳绳数。
  5. cout << classes << " " << remaining;:输出计算结果,即可分配的班级数量和剩余的跳绳数量。
  6. 程序通过 return 0; 正常结束,表示没有错误发生。

1416 求长方形的周长和面积

从键盘读入2个整数,分别代表一个长方形的长和宽,请计算长方形的周长和面积;

解题思路

要计算一个长方形的周长和面积,我们需要执行以下步骤:

  1. 读入数据:从键盘输入长方形的长和宽,这两个值都是整数。
  2. 计算周长:长方形的周长计算公式是 (2 * 长 + 2 * 宽)。
  3. 计算面积:长方形的面积计算公式是 (长 * 宽)。
  4. 输出结果:先输出长方形的周长,然后输出面积。
代码实现
#include <iostream>
using namespace std;

int main() {
    int length, width; // 定义长和宽的变量
    cin >> length >> width; // 从键盘读入长和宽

    int perimeter = 2 * (length + width); // 计算周长
    int area = length * width; // 计算面积

    cout << perimeter << endl; // 输出周长
    cout << area << endl; // 输出面积

    return 0; // 程序结束
}
代码解析
  1. int length, width;:定义两个整数变量 length 和 width,用于存储从键盘读入的长方形的长和宽。
  2. cin >> length >> width;:使用 cin 从键盘读入长方形的长和宽。
  3. int perimeter = 2 * (length + width);:根据周长的计算公式,计算并存储长方形的周长。
  4. int area = length * width;:根据面积的计算公式,计算并存储长方形的面积。
  5. cout << perimeter << endl;:输出长方形的周长。
  6. cout << area << endl;:输出长方形的面积。
  7. return 0;:通过返回0结束程序,表示程序执行成功。

1600. 请假时间计算

假设小明的妈妈向公司请了 n 天的假,那么请问小明的妈妈总共请了多少小时的假?多少分钟的假?(提示:1 天有 24 小时,1 小时有 60 分钟)。

解题思路

为了计算小明妈妈请假的总时间,我们可以按照以下步骤进行:

  1. 读入数据:首先,我们需要知道小明妈妈请了多少天的假,即输入假期天数 n。
  2. 计算小时数:根据每天有 24 小时,计算总共请了多少小时的假,即 n * 24。
  3. 计算分钟数:既然1小时有60分钟,那么基于步骤2的结果,计算总共请了多少分钟的假,即 n * 24 * 60。
  4. 输出结果:最后,我们输出请假的总小时数和总分钟数。
代码实现
#include <iostream>
using namespace std;

int main() {
    int days; // 定义变量存储请假天数
    cin >> days; // 从键盘读入请假天数

    cout << days * 24 << endl; // 输出总小时数
    cout << days * 24 * 60 << endl; // 输出总分钟数

    return 0; // 程序结束
}
代码解析
  1. int days;:定义一个整数变量 days,用于存储从键盘读入的请假天数。
  2. cin >> days;:使用 cin 从键盘读入请假天数。
  3. 使用 cout << days * 24 << endl;直接输出请假的总小时数。
  4. 使用 cout << days * 24 * 60 << endl; 直接输出请假的总分钟数。
  5. return 0;:通过返回0结束程序,表示程序执行成功。

1599 米老鼠偷糖果

米老鼠发现了厨房放了 n 颗糖果,它一次可以背走 a 颗,请问米老鼠背了 x 次之后还剩多少颗?(假设 x 次之后一定有糖果剩下)。

解题思路

为了计算米老鼠偷糖果后剩余的糖果数量,我们可以按照以下步骤进行:

  1. **读入数据:**首先,我们需要知道总共有多少颗糖果 n,米老鼠一次能背走多少颗 a,以及米老鼠总共背了多少次 x。
  2. 计算偷走的糖果总数:米老鼠每次背走 a 颗糖果,x 次就是 a * x 颗。
  3. 计算剩余的糖果数量:总糖果数 n 减去偷走的糖果数 a * x,得到剩余的糖果数量。
  4. 输出结果:最后,我们输出剩余的糖果数量。
代码实现
#include <iostream>
using namespace std;

int main() {
    int n, a, x; // 定义变量存储糖果总数、每次背走的数量和总背次数
    cin >> n >> a >> x; // 从键盘读入三个整数

    int remaining = n - a * x; // 计算剩余的糖果数

    cout << remaining << endl; // 输出剩余的糖果数量

    return 0; // 程序结束
}
代码解析
  1. int n, a, x;:定义三个整数变量 n、a、x,用于存储从键盘读入的总糖果数、每次米老鼠能背走的糖果数和背糖果的次数。
  2. cin >> n >> a >> x;:使用 cin 从键盘读入三个整数值。
  3. int remaining = n - a * x;:计算剩余的糖果数,即总糖果数减去米老鼠偷走的糖果总数。
  4. cout << remaining << endl;:直接输出剩余的糖果数量。
  5. return 0;:通过返回 0 结束程序,表示程序执行成功。

1597 买文具

花花去文具店买了 1 支笔和 1 块橡皮,已知笔 x 元 / 支,橡皮 y 元 / 块,花花付给了老板 n 元,请问老板应该找给花花多少钱?

解题思路

为了计算老板应该找给花花多少钱,我们可以按照以下步骤进行:

  1. 读入数据:首先,我们需要知道笔的单价 x,橡皮的单价 y,以及花花付给老板的钱 n。
  2. 计算总消费:花花买了 1 支笔和 1块橡皮,总消费为 x + y。
  3. 计算找回的钱:花花付给老板的钱 n 减去总消费 x + y,得到老板应该找给花花的钱。
  4. 输出结果:最后,我们输出老板应该找给花花的钱。
代码实现
#include <iostream>
using namespace std;

int main() {
    int x, y, n; // 定义变量存储笔的单价、橡皮的单价和花花付给老板的钱
    cin >> x >> y >> n; // 从键盘读入三个整数

    int change = n - (x + y); // 计算找回的钱

    cout << change << endl; // 输出找回的钱

    return 0; // 程序结束
}
代码解析
  1. int x, y, n;:定义三个整数变量 x、y、n,用于存储从键盘读入的笔的单价、橡皮的单价和花花付给老板的钱。
  2. cin >> x >> y >> n;:使用 cin 从键盘读入三个整数值。
  3. int change = n - (x + y);:计算找回的钱,即花花付给老板的钱减去总消费。
  4. cout << change << endl;:直接输出找回的钱。
  5. return 0;:通过返回 0 结束程序,表示程序执行成功。

1596 火柴棒三角形问题

摆 1 个火柴棒三角形需要 3 根火柴,那么摆 2 个火柴棒三角形就需要 6 根火柴,请问摆 n 个火柴棒三角形需要多少根火柴?

解题思路

为了计算摆放 n 个火柴棒三角形所需的火柴数,我们可以按照以下步骤进行:

  1. 读入数据:首先,我们需要知道想要摆放的火柴棒三角形的数量 n。
  2. 计算所需火柴数:摆放一个火柴棒三角形需要 3 根火柴,因此,摆放 n个三角形就需要 n * 3 根火柴。
  3. 输出结果:最后,我们输出所需的火柴数。
代码实现
#include <iostream>
using namespace std;

int main() {
    int n; // 定义变量存储想要摆放的火柴棒三角形的数量
    cin >> n; // 从键盘读入三角形的数量

    cout << n * 3 << endl; // 输出所需的火柴数

    return 0; // 程序结束
}
代码解析
  1. int n;:定义一个整数变量 n,用于存储从键盘读入的想要摆放的火柴棒三角形的数量。
  2. cin >> n;:使用 cin从键盘读入三角形的数量。
  3. cout << n * 3 << endl;:直接输出所需的火柴数量,即 n 乘以 3。
  4. return 0;:通过返回 0 结束程序,表示程序执行成功。

1417 买文具

文具店的水笔的单价是一个整数,小明从文具店买了 x 支水笔花了 y 元。请问如果你要从该文具店购买 5 支水笔需要付多少钱?

解题思路

要计算购买 5 支水笔需要付的钱,我们可以按照以下步骤进行:

  1. 读入数据:从键盘输入小明买的水笔支数 x 和他付给老板的金额 y。
  2. 计算单价:先计算出水笔的单价,即 y / x。
  3. 计算购买 5支水笔的金额:将单价乘以 5,得到购买 5 支水笔需要的金额。
  4. 输出结果:输出购买 5 支水笔应付的金额。
代码实现
#include <iostream>
using namespace std;

int main() {
    int x, y; // 定义变量存储小明买的水笔支数和付给老板的金额
    cin >> x >> y; // 从键盘读入两个整数

    int unitPrice = y / x; // 计算水笔的单价
    int costForFive = unitPrice * 5; // 计算购买 5 支水笔需要的金额

    cout << costForFive << endl; // 输出购买 5 支水笔应付的金额

    return 0; // 程序结束
}
代码解析
  1. int x, y;:定义两个整数变量 x 和 y,用于存储从键盘读入的小明买的水笔支数和他付给老板的金额。
  2. cin >> x >> y;:使用 cin 从键盘读入小明买的水笔支数和他付给老板的金额。
  3. int unitPrice = y / x;:计算水笔的单价。
  4. int costForFive = unitPrice * 5;:计算购买 5 支水笔需要的金额。
  5. cout << costForFive << endl;:输出购买 5 支水笔应付的金额。
  6. return 0;:通过返回 0结束程序,表示程序执行成功。

1320. 时钟旋转(1)

问题描述

时钟上面的时针从 m 时走到 n 时旋转了多少度?(m≤n,且 m 和 n 都是1∼12之间的整数)。

解题思路

时钟的时针每走一小时,旋转的度数是360度除以12,等于30度。因此,从 m 时到 n 时的旋转度数可以通过计算两者之间的小时数差,再乘以每小时时针旋转的度数来计算得出。

  1. 读入数据:从键盘输入起始时间 m 和结束时间 n。
  2. 计算小时差:计算 n 与 m 之间的小时差。
  3. 计算旋转度数:小时差乘以每小时旋转的度数(30度)。
  4. 输出结果:输出时针旋转的总度数。
代码实现
#include <iostream>
using namespace std;

int main() {
    int m, n; // 定义变量存储起始和结束时间
    cin >> m >> n; // 从键盘读入起始和结束时间

    int degree = (n - m) * 30; // 计算旋转的度数

    cout << degree << endl; // 输出旋转的度数

    return 0; // 程序结束
}
代码解析
  1. int m, n;:定义两个整数变量 m 和 n,用于存储从键盘读入的起始时间和结束时间。
  2. cin >> m >> n;:使用 cin从键盘读入起始时间和结束时间。
  3. int degree = (n - m) * 30;:计算时针旋转的总度数,每小时旋转30度。
  4. cout << degree << endl;:直接输出时针旋转的总度数。
  5. return 0;:通过返回0结束程序,表示程序执行成功。

1323. 扩建花圃问题

问题描述

梅山小学有一块长方形花圃(花圃的长宽都是整数),长 m 米,宽未知。在修建校园时,花圃的长增加了 n 米,此时发现增加出来的面积有 s 平方米。请编程计算出原来花圃的面积是多少平方米?

解题思路

已知长方形花圃原长为 m,宽为 w(未知),长增加 n 米后的新增面积为 s 平方米。我们可以通过建立方程来求解原始面积。

  1. 长增加后的总长为 m + n。
  2. 增加出来的面积 s = n * w。
  3. 原始面积 = m * w。
  4. 由于 s = n * w,可以求出 w = s / n,将 w 值代入原始面积的计算公式中,即可求得原始面积。
代码实现
#include <iostream>
using namespace std;

int main() {
    int m, n, s; // 定义变量存储长、增加的长和新增面积
    cin >> m >> n >> s; // 从键盘读入这三个值

    int w = s / n; // 计算宽度
    int area = m * w; // 计算原始面积

    cout << area << endl; // 输出原始面积

    return 0; // 程序结束
}
代码解析
  1. int m, n, s;:定义三个整数变量 m、n 和 s,用于存储从键盘读入的长、增加的长和新增面积。
  2. cin >> m >> n >> s;:使用 cin 从键盘读入这三个整数值。
  3. int w = s / n;:计算宽度 w,等于新增面积 s 除以增加的长 n。
  4. int area = m * w;:计算原始面积,等于长 m 乘以宽度 w。
  5. cout << area << endl;:直接输出原始面积。
  6. return 0;:通过返回0结束程序,表示程序执行成功。

1462. 小明的游泳时间

问题描述

伦敦奥运会要到了,小明在拼命练习游泳准备参加游泳比赛。这一天,小明给自己的游泳时间做了精确的计时(本题中的计时都按 24 小时制计算),它发现自己从 a 时 b 分一直游泳到当天的 c 时 d 分。请你帮小明计算一下,它这天一共游了多少时间呢?

解题思路

要计算小明游泳的总时间,我们可以将开始时间和结束时间都转换为以分钟为单位,然后计算时间差,最后将这个时间差再转换为小时和分钟。

  1. 转换时间:将开始时间和结束时间都转换为分钟。
    开始时间的分钟数 = a * 60 + b。
    结束时间的分钟数 = c * 60 + d。

  2. 计算时间差:结束时间的分钟数 - 开始时间的分钟数。

  3. 转换为小时和分钟:将时间差转换回小时和分钟。
    总小时数 = 时间差 / 60。
    总分钟数 = 时间差 % 60。

代码实现
#include <iostream>
using namespace std;

int main() {
    int a, b, c, d; // 定义变量存储开始和结束时间
    cin >> a >> b >> c >> d; // 从键盘读入这四个值

    // 计算开始和结束时间的总分钟数
    int startMinutes = a * 60 + b;
    int endMinutes = c * 60 + d;

    // 计算时间差
    int diff = endMinutes - startMinutes;

    // 计算总小时数和总分钟数
    int hours = diff / 60;
    int minutes = diff % 60;

    cout << hours << " " << minutes << endl; // 输出总小时数和总分钟数

    return 0; // 程序结束
}
代码解析
  1. int a, b, c, d;:定义四个整数变量 a、b、c 和 d,用于存储从键盘读入的开始和结束时间。
  2. cin >> a >> b >> c >> d;:使用 cin 从键盘读入这四个整数值。
  3. int startMinutes = a * 60 + b; 和 int endMinutes = c * 60 + d;:将开始和结束时间转换为总分钟数。
  4. int diff = endMinutes - startMinutes;:计算时间差,即游泳的总分钟数。
  5. int hours = diff / 60; 和 int minutes = diff % 60;:将时间差转换回小时和分钟。
  6. cout << hours << " " << minutes << endl;:直接输出游泳的总小时数和总分钟数。
  7. return 0;:通过返回 0 结束程序,表示程序执行成功。
  • 7
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

天秀信奥编程培训

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值