编了道阅读程序题,求志愿者审题
  • 板块灌水区
  • 楼主zhangliyuan111
  • 当前回复2
  • 已保存回复3
  • 发布时间2024/8/16 11:18
  • 上次更新2024/8/16 13:21:52
查看原帖
编了道阅读程序题,求志愿者审题
1269221
zhangliyuan111楼主2024/8/16 11:18

编了道阅读程序题,求志愿者审题。 答案和问题发在评论区即可。

阅读程序

0	#include<iostream>
1	using namespace std;
2
3	int fun(int arr[], int len) {
4		int sum=0;
5		for (int i = 1; i < len; ++i) {
6			int key = arr[i];
7			int j = i - 1;
8			while (j >= 0 && arr[j] > key) {
9				arr[j + 1] = arr[j];
10				sum+=arr[j];
11				j--;
12			}
13			arr[j + 1] = key;
14		}
15		return sum;
16	}
17
18	int main() {
19		freopen("file.in","r",stdin);
20		int arr[1000];
21		int input;
22		int len;
23		cin>>len;
24		len=(len%1000+1000)%1000;
25		for(int i=0; i<len; i++) {
26			cin>>input;
27			arr[i]=(input%10000+10000)%10000;
28		}
29		cout<<fun(arr,len)<<endl;
30		return 0;
31	}

· 判断题

(1)在执行过 2929 行代码后,arr数组变为升序。

(2)本程序的时间复杂度是 O(n2)O(n^2) 。

(3)第 2424 行的作用是将len的范围限定在 [0,999][0,999] 之间。

(4)本题 fun()中的 sum 可能会溢出,需要改成unsigned int 类型。

· 选择题

(5)输入 4 1 2 4 3 的结果为( )

A. 22

B. 33

C. 44

D. 77

(6)输入 6 6 5 4 3 2 1 的结果为( )

A. 00

B. 2121

C. 7070

D. 9191

2024/8/16 11:18
加载中...