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

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

作者: jdzhangxin | 来源:发表于2018-10-27 17:25 被阅读33次

    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 <bits/stdc++.h>
    using namespace std;
    
    int main() {
        int n = 0;
        scanf("%d",&n);
        int nums[n];
        for(int i=0;i<n;++i){
            scanf("%d",&nums[i]);
        }
        int page = 0; // 页码
        int size = 0; // 每页显示数据个数
        scanf("%d%d",&page,&size);
        if(page*size >= n){
            printf("超过分页范围\n");
        }
        
        for(int i= page*size;i<(page+1)*size;++i){
            printf("%d\n",nums[i]);
        }
    }
    
    #include <cstdio>
    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秋

          本文链接:https://www.haomeiwen.com/subject/zndjoftx.html