文章目录

  • ​​🔴需求描述:​​
  • ​​🟠需求分析:​​
  • ​​🟡解题思路:​​
  • ​​法一​​
  • ​​法二​​
  • ​​法三​​
  • ​​🟢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 / C++ 」已知总条数,每页条数,计算总页数_c++

🟣C 库函数 - ceil()

描述

C 库函数 double ceil(double x) 返回大于或等于 x 的最小的整数值。

声明

下面是 ceil() 函数的声明。

​double ceil(double x)​

参数

​x -- 浮点值。​

返回值

该函数返回不小于 x 的最小整数值。