[20]数据分页说明-搜狐畅游2018秋

1.题目描述

数据分页,对于指定的页数和每页的元素个数,返回该页应该显示的数据。

  • 输入描述:
    第一行输入数据个数,第二行全部数据,第三行输入页数,第四行输入每页最大数据个数
  • 输出描述:
    输出该页应该显示的数据,超出范围请输出'超过分页范围'
  • 输入例子 1:
    6
    1 2 3 4 5 6
    1
    2
    
  • 输出例子 1:
    3
    4
    

2.题目解析

总页数 = 数据个数/单页数据数
每页起始下标 = 页号*单页数据数
每页终止下标 = (页号+1)*单页数据数
所以,遍历页的起始下标与页的终止下标可以得到当前页的数据。

for(int i=页的起始下标;i!=页的终止下标 && i!=n;++i)

3.参考答案

#include 
using namespace std;

int main() {
    int n = 0;
    scanf("%d",&n);
    int nums[n];
    for(int i=0;i= n){
        printf("超过分页范围\n");
    }
    
    for(int i= page*size;i<(page+1)*size;++i){
        printf("%d\n",nums[i]);
    }
}
#include 
using namespace std; 
int main(){ 
  int n = 0; // 输入数据个数
  scanf("%d",&n);
  int data[n]; // 全部数据
  for(int i=0;i!=n;++i){
      scanf("%d",&data[i]);
  }
  int page_count = 0; // 页数
  int page_max = 0; // 每页最大数据个数
  scanf("%d%d",&page_count,&page_max);
  
  if (page_count > n / page_max - 1) { 
    printf("超过分页范围"); 
  }
  for (int i = page_count * page_max; 
       i < page_count * page_max + page_max && i < n;
       ++i){
    printf("%d\n",data[i]);
  }
  return 0;
}

牛客题目

你可能感兴趣的:([20]数据分页说明-搜狐畅游2018秋)