「 C / C++ 」已知总条数,每页条数,计算总页数
原创
©著作权归作者所有:来自51CTO博客作者wx63dcc0114075e的原创作品,请联系作者获取转载授权,否则将追究法律责任
文章目录
- 🔴需求描述:
- 🟠需求分析:
- 🟡解题思路:
- 🟢C++代码:
- 🔵结果展示:
- 🟣C 库函数 - ceil()
- 描述
- 声明
- 参数
- 返回值
🔴需求描述:
项目中用到文件存储历史数据存数据,然后上位机读取的时候要按照分页来读,需要人为计算总页数。
🟠需求分析:
该需求可以转化已知总条数,每页条数,计算总页数
的简单数学问题。
🟡解题思路:
法一
使用%
、?:
与/
运算,处理取余为0与不为0的情况
法二
思路类似上述,不过使用了ceil
函数实现+1
操作
法三
OnePageRawNum - 1
是totalRawCount / OnePageRawNum
最大余数
🟢C++代码:
#include <iostream>
#include <cmath>
using namespace std;
int main() {
int totalPageNum = 0;
int OnePageRawNum = 8;
int totalRawCount = 100;
///< func1:
totalPageNum = 0;
totalPageNum = (totalRawCount % OnePageRawNum == 0) ? (totalRawCount / OnePageRawNum) : (totalRawCount / OnePageRawNum + 1);
cout << "func1 totalPageNum :" << totalPageNum << endl;
///< func2:
totalPageNum = 0;
totalPageNum = (totalRawCount % OnePageRawNum == 0) ? (totalRawCount / OnePageRawNum) : (ceil(((double) totalRawCount) / ((double) OnePageRawNum)));
cout << "func2 totalPageNum :" << totalPageNum << endl;
///< func3:
totalPageNum = 0;
totalPageNum = (totalRawCount + OnePageRawNum - 1)/OnePageRawNum;
cout << "func3 totalPageNum :" << totalPageNum << endl;
return 0;
}
🔵结果展示:
🟣C 库函数 - ceil()
描述
C 库函数 double ceil(double x) 返回大于或等于 x 的最小的整数值。
声明
下面是 ceil() 函数的声明。
double ceil(double x)
参数
x -- 浮点值。
返回值
该函数返回不小于 x 的最小整数值。