<>2021第十二届蓝桥杯C/C++B组模拟赛
问题描述:
给定一个序列a_1,a_2,…,a_n,其中a_1 < a_2 < …< a_n。
相邻两个数之间的差(后一个数减去前一个数)称为它们的间隙。
请问序列中最大的间隙是多少?
输入格式:
输入的第一行包含一个整数n,表示序列的长度。
第二行包含n个正整数,为给定的序列。
输出格式:
输出一个整数,表示序列中最大的间隙。
#include <stdio.h> int main() { int n; int i; int num[1000]; int count[999];
//将间隙放入数组方便比较 int temp; //中间变量 scanf_s("%d", &n); for (i = 0; i < n; i++) {
scanf_s("%d", &num[i]); } for (i = 0; i < n; i++) //计算出间隙,并放入count数组中 { count[i]
= num[i + 1] - num[i]; } for (i = 0; i < n - 1; i++) //找出最大的间隙 { if (count[0] <
count[i]) { temp = count[0]; count[0] = count[i]; count[i] = temp; } } printf(
"%d", count[0]); return 0; }