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;
}