全国高校计算机能力挑战赛C语言编程题 第四题

输入一个正整数N(1 <= N<10000), 接下来输入这N个正整数序列,再输入一个正整数
K(1 <= K <= 100), 其后跟K行操作,每行操作包括两个正整数i和j(1 <= i <= j <= N),
表示将区间[i中的元素删除,操作结束后输出最终的正整数序列。
输入 :
第一行输入N
第二行输入N个正整数
第三行输入K
其后K行每行输入两个正整数
输出 :
输出操作结束后的最终序列,相邻两数之间以一个空格分隔。
样例输入 :
10
1 2 3 4 5 6 7 8 9 10
2
1 3
8 10
样例输出 :
4 5 6 7

#include<stdio.h>
int a[10005];
int b[10005]={0};
int main()
{
	int n;
	scanf("%d",&n);
	for(int i=1;i<=n;i++)
	{
		scanf("%d",&a[i]);
	}
	int m;
	scanf("%d",&m);
	int l,r;
	for(int i=0;i<m;i++)
	{
		scanf("%d%d",&l,&r);
		b[l]++;
		b[r+1]--;
	}
	for(int i=2;i<=n;i++)
	{
		b[i]=b[i]+b[i-1];
		if(b[i]==0)
		printf("%d ",a[i]);
	}
}
### 全国大学生C语言程序设计竞赛历年真题及练习 以下是根据已有的引用内容和相关知识整理的全国大学生C语言程序设计竞赛的历年真题及练习信息: #### 1. 全国高校计算机能力挑战赛C语言真题 全国高校计算机能力挑战赛是针对高校学生的一项重要赛事,其C语言组的目涵盖基础语法、数据结构、算法设计等内容。以下为一道典型选择: - **问**:下列选项中错误的是 A. `unsigned` 和 `void` 在 C 中都是保留字 B. 树形结构中元素之间存在一对多的关系 C. C 语言程序的基本组成单位是函数 D. 在 C 语言程序中,注释说明只能位于一条语句的后面[^1] 正确答案为 D,因为 C 语言中的注释可以出现在代码的任何位置。 #### 2. 第五届“传智杯”全国大学生计算机大赛(练习赛) 第五届“传智杯”提供了丰富的练习,涉及排序、数组操作等常见算法问。例如: - **问**:给定一个整数数组,求相邻两个元素差值的最小值。 ```cpp #include <bits/stdc++.h> using namespace std; int main() { int n; cin >> n; long long a[n]; for (int i = 0; i < n; i++) cin >> a[i]; sort(a, a + n); long long res = LLONG_MAX; for (int i = 1; i < n; i++) res = min(res, a[i] - a[i - 1]); cout << res; } ``` 上述代码实现了对数组排序后计算相邻元素差值的最小值[^2]。 #### 3. 码蹄集-竞赛真题第二期 码蹄集是一个汇集了大量竞赛真题的平台,适合用于练习和提高编程能力。例如以下目: - **问**:给定一个整数数组,求最大值与最小值差值的最小可能值。 ```cpp #include <bits/stdc++.h> using namespace std; int main() { int n; cin >> n; int a[n]; for (int i = 0; i < n; i++) cin >> a[i]; sort(a, a + n); int mx = a[n - 1], mx2 = a[n - 2]; int mn = a[0], mn2 = a[1]; int ans = min(mx - mn2, mx2 - mn); cout << ans << endl; return 0; } ``` 此代码通过排序后比较不同组合的最大值与最小值差值,得出最小可能值[^4]。 #### 4. 第五届“传智杯”全国大学生计算机大赛(初赛) 初赛目通常涉及简单的逻辑运算和数学问。例如以下目: - **问**:输入两个整数 `a` 和 `b`,输出 `a` 的绝对值。 ```cpp #include <stdio.h> int main() { long int a, b; scanf("%ld%ld", &a, &b); if (a < 0) a *= -1; if (b < 0) a *= -1; printf("%ld", a); return 0; } ``` 此代码实现了对输入整数取绝对值的操作[^5]。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

giao源

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值