yangzhixiaohuli 发表于 2023-11-16 13:53:29

求助一下

本题要求实现实现一个函数,它可以打印n个连续的整数,打印时需根据上一次打印的结果,依次向后打印,例如共打印2次,第一次调用打印1~5,则第二次调用打印6~10,……。

函数接口定义:
在这里描述函数接口。例如:
void printNumber(int m);
在这里解释接口参数。例如:其中 m 是用户传入的参数。 m 的值表示打印的数字的个数,例如,n为5时,打印5个数字。

裁判测试程序样例:
在这里给出函数被调用进行测试的例子。例如:
#include<stdio.h>
void printNumber(int m) ;
int main()
{
    int n,m;
    scanf("%d %d",&n,&m);
    for (int i = 0; i < n; ++i) {
      printNumber(m);//第一次调用
    }

    return 0;
}

/* 请在这里填写答案 */
输入样例:
在这里给出一组输入。例如:

2 5
输出样例:
在这里给出相应的输出。例如:

1 2 3 4 5
6 7 8 9 10



这题用C++怎么做

isdkz 发表于 2023-11-16 13:53:40

#include <iostream>
using namespace std;

void printNumber(int m) {
    static int start = 1; // 静态变量记录上一次打印的起始数
    for (int i = 0; i < m; ++i) {
      cout << start + i << " ";
    }
    cout << endl;
    start += m; // 更新下一次打印的起始数
}

int main() {
    int n, m;
    cin >> n >> m;
    for (int i = 0; i < n; ++i) {
      printNumber(m); // 第一次调用
    }
    return 0;
}

Mike_python小 发表于 2023-11-16 13:54:47

你好,以下是用C++实现的代码示例:


#include <iostream>
using namespace std;

void printNumber(int m) {
    static int lastPrinted = 1;// 保存上一次打印的最后一个整数

    for (int i = 0; i < m; ++i) {
      cout << lastPrinted + i << " ";
    }
    lastPrinted += m;// 更新上一次打印的最后一个整数
    cout << endl;
}

int main() {
    int n, m;
    cin >> n >> m;
    for (int i = 0; i < n; ++i) {
      printNumber(m);// 调用打印函数
    }
    return 0;
}


希望对你有所帮助。如有其他问题,欢迎继续问我。
页: [1]
查看完整版本: 求助一下