【CCF-CSP-201712-1】最小差值
2018-03-09 21:49
302 查看
问题描述 给定n个数,请找出其中相差(差的绝对值)最小的两个数,输出它们的差值的绝对值。 输入格式 输入第一行包含一个整数n。 第二行包含n个正整数,相邻整数之间使用一个空格分隔。 输出格式 输出一个整数,表示答案。 样例输入 5 1 5 4 8 20 样例输出 1 样例说明 相差最小的两个数是5和4,它们之间的差值是1。 样例输入 5 9 3 6 1 3 样例输出 0 样例说明 有两个相同的数3,它们之间的差值是0. 数据规模和约定 对于所有评测用例,2 ≤ n ≤ 1000,每个给定的整数都是不超过10000的正整数。
#include <iostream> #include <fstream> using namespace std; #define MAX_LEN 1000 int _array[MAX_LEN] = {0}; int n; void input(){ // fstream in_data; // in_data.open("data.txt"); // in_data >> n; // for(int i = 0; i<n;i++){ // in_data >> _array[i]; // } cin >> n; for(int i = 0; i<n; i++){ cin>>_array[i]; } } // //void print_data(){ // for(int i = 0; i < n; i++){ // cout<<_array[i]<<" "; // } // cout<<endl; //} int _calculate(int a, int b){ int cal = a - b; if(cal>0){ return cal; }else{ return -cal; } } int find_min(){ int result = 10001; int cal; for(int i=0; i<n-1; i++){ for(int j=i+1; j<n; j++){ cal = _calculate(_array[i], _array[j]); if(result>cal){ result = cal; } } } return result; } int main(){ input(); // print_data(); cout<<find_min()<<endl; return 0; }
相关文章推荐
- 【CCF-CSP-201712-1】最小差值
- 【CCF-CSP-201712-1】最小差值
- 【CCF-CSP-201712-1】最小差值
- 【CCF-CSP-201712-1】最小差值
- 【CCF-CSP-201712-1】最小差值
- 【CCF-CSP-201712-1】最小差值
- 【CCF-CSP-201712-1】最小差值
- CCF CSP 201712-1 最小差值(Java-100分)
- CCF CSP 201712-1:最小差值
- CCFCSP 201712-1 最小差值
- 【CCF-CSP-201712-1】最小差值
- 【CCF-CSP-201712-1】最小差值
- CCF 201712-1 最小差值
- CCF考试——201712-1最小差值
- CCF CSP 2017 12-1 最小差值 (java)
- ccf 201712-1 最小差值
- CCF-201712-1-最小差值
- 【简单题】CCF 201712-1 最小差值
- 201712-1最小差值——CCF计算机软件能力认证试题历届真题
- CCF 201712-1 最小差值(Java)