牛客刷题---简单1
- 题目要求
-
- 题目分析
-
- 1. **单行输入一个整形数组**
- 2. **求和比较过程**
- 3. **结果输出**
题目要求 一个按照由小到大的整形(包含正整数和负整数)排列的数组 nums,数组最大1000个元素。对数组中元素进行两两求和,计算出两个元素之和的绝对值最小的那个值并输出该绝对值。
【算法每日一练|牛客刷题---简单】按照由大到小的顺序在终端输入一行数字,数字之间用空格分开。输入完成之后回车完成输入。
example:
input: -3 -1 5 7 11 15
output: 2
|-3+5|就是绝对值最小的那一组数据。
题目分析 1. 单行输入一个整形数组
int arr[1000] = { 0 };
int i, j;
int num = 0;
int len = 0;
int a = 0;
int b = 0;
int min = 0;
/* 获取输入数组 */
for (i = 0;
i < 1000;
i++)
{
scanf_s("%d", &num);
arr[i] = num;
char c = getchar();
/* 回车结束数据输入且保证数组不会越界 */
if (c == '\n' || i == 999) {
len = i;
break;
}
}
2. 求和比较过程
/* 设置最小初始值 */
min = arr[i] + arr[i+1];
for (i = 0;
i < len;
i++) {
for (j = i + 1;
j < len - 2;
j++) {
a = arr[i] + arr[j];
if (a < 0) {
a *= -1;
}
b = arr[i] + arr[j + 1];
if (b < 0) {
b *= -1;
}
if (a > b) {
a = b;
}
}
if (min > a) {
min = a;
}
}
3. 结果输出
推荐阅读
- 神经网络|大盘点 | 2020年21篇医学影像算法最佳综述
- python算法设计|基于CQT和PCP的和弦识别算法
- 翻出了高考完后用C语言实现的贪吃蛇
- C语言函数(函数的分类,参数,调用,声名及定义)
- 算法题每日一练---第32天(奇怪的分式)
- C语言的预编译(预处理)#define
- 学习|20220609学习记录(st表、动态规划、数学)
- C语言-细说函数与结构体
- C语言程序的环境,编译+链接