百度笔试题之数组差值(题目与源码) ********************************* 给定一个长度为n并且只含有非负整数的数组A,显然这个数组一共有n*(n+1)/2个区间(每个区间至少有一个元素)。给定m个查询值K,对于每个查询值K,我们将每个区间最小值与K做“差值”,“差值”的定义如下: 当最小值MINi不小于K时,则“差值”为MINi – K 否则“差值”为0 你的任务是求出对于每个查询值K时,n*(n+1)/2个“差值”的和。 【数据范围】 1 ≤ n, m ≤ 10
写程序的时候经常要定义这样一个数组,要前面程序运行后才能知道数组的大小,然而C语言不支持直接定义不定长数组的定义,但是我们可以通过动态数组实现一个不定长度的数组。
一维数组:
#include
#include//要使用malloc是要包含此头文件
#include //要使用memset是要包含此头文件
int main()
{
int m;
scanf(%d, &m);//scanf只是遇到回车符的时候结束,并没有把回车符输入,因此输入流中还有一个回车符
getchar();//把输