CSP练习4-程序阅读与填空

*
您的姓名:
一、阅读下面程序: 
#include <bits/stdc++.h>
using namespace std;
int n, m, k, max, s, a[101];
int main() {
    cin >> n >> m >> k;
    for (int i = 1; i <= n; i++) {
        for (int j = 1; j <= m; j++) cin >> a[j];
        if (i == k) {
            for (int j = 1; j <= m + 1; j++) {
                if (a[j] != 0)
                    s++;
                else {
                    if (s > max) max = s;
                    s = 0;
                }
            }
        }
    }
    cout << max;
    return 0;
}
*
1.
1. 上述代码中是在统计每一行中连续非 0 数的数量。
*
2.
上述代码中若将 for (int j = 1; j <= m + 1; j++) 改为 for (int j = 1; j <= m; j++) 输出结果一定不变。
*
3.
为保证上述代码正确运行,m 不能超过 99。
*
4.
在保证 1≤k≤n 的情况下,可以将上述代码中的 for (int i = 1; i <= n; i++) 改为 for (int i = 1; i <= k; i++) 输出结果一定不变。
*
5.
若输入数据为
4 12 3
9 2 0 0 3 4 2 5 0 1 3 0
4 0 2 3 0 3 2 3 1 2 5 7
3 8 1 2 0 4 7 5 1 3 0 9
1 1 1 1 1 0 2 3 1 3 4 1
max = s; 执行了( )次。
A. 2
B.0
C.1
D.3
*
6.
上述代码的时间复杂度为()
A.O(n)
B. O(nm)
C.O(m)
D.O(n+m)
二、程序阅读
*
7.
程序输出 12
*
8.
若将第 6 行替换为“i++”, 则程序无法在 1s 之内结束()
*
9.
若将第 4 行的”i=100”替换为”i=10”,则输出 1,2。()
*
10.
若将第 8 行去掉,则程序输出()
A. 98
B. 99
C. 100
D. 101
三、程序填空
(下一天问题) 设计一个算法,这个算法获取今天的日期,计算并返回下一天的日期。我们 先设计一个函数f(y, m) ,它接收的两个参数y和m分别表示年份和月份, f(y, m)会返 回y年m月的天数。 
在此基础上,计算并输出y年m月d日的下一天的日期。 
题目保证输入的日期一定是合法的,试补全下方模拟程序

#include <iostream>
using namespace std;
int f(int y, int m) {
    // 此处为判断并返回y年m月的天数的代码,省略
}
int main() {
    int y, m, d;
    cin >> y >> m >> d;
    if ( ___(1)___ ) {
        cout << "下一天是" <<
            y << "年" <<
            m << "月" <<
            d+1 << "日" << endl;
    } else if ( ___(2)___ ) {
        cout << "下一天是" <<
            y << "年" <<
            m+1 << "月" <<
            1 << "日" << endl;
    } else {
        cout << "下一天是" <<
            ___(3)___ << "年" <<
            ___(4)___ << "月" <<
            ___(5)___ << "日" << endl;
    }
    return 0;
}
*
11.
___ (1) ___ 处应填( )
A. d = 1
B. d < f(y, m)
C. d == f(n, m)
D. d! = 1
*
12.
___ (2) ___ 处应填( )
A. m == 1
B. m > 1
C. m < 12
D. m == 12
*
13.
___ (3) ___ 处应填( )
A. y
B. y − 1
C. y + 1
D. y/4 ∗ 4
*
14.
___ (4) ___ 处应填( )
A.1
B.m − 1
C.m
D.m + 1
*
15.
___ (5) ___ 处应填( )
A. 1
B. d − 1
C. d
D. d + 1
问卷星提供技术支持
举报