c语言 输入n和n个整数,输出其中绝对值最小的数
时间: 2023-07-24 13:18:10 浏览: 106
以下是一个示例代码,可以实现这个功能:
```c
#include <stdio.h>
#include <stdlib.h>
int main() {
int n, i, min_num, temp;
scanf("%d", &n);
scanf("%d", &min_num);
for (i = 1; i < n; i++) {
scanf("%d", &temp);
if (abs(temp) < abs(min_num)) {
min_num = temp;
}
}
printf("绝对值最小的数是:%d\n", min_num);
return 0;
}
```
这个程序首先输入一个整数n,表示接下来有n个整数。然后,我们使用一个变量`min_num`来记录当前绝对值最小的数。在循环中,我们依次输入n个整数,并将它们的绝对值与`min_num`的绝对值比较,如果当前数的绝对值更小,就更新`min_num`。最后,我们输出`min_num`即可。注意,这里使用了`abs`函数来计算绝对值。
相关问题
用C语言输入n和n个整数输出其中绝对值最小的
可以使用以下代码实现:
```c
#include <stdio.h>
#include <stdlib.h>
int main() {
int n;
scanf("%d", &n);
int *arr = (int *)malloc(n * sizeof(int)); // 动态分配数组空间
for (int i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
int min_abs = abs(arr[0]); // 记录当前绝对值最小的数
int min_index = 0; // 记录当前绝对值最小的数的索引
for (int i = 1; i < n; i++) {
if (abs(arr[i]) < min_abs) { // 如果当前数的绝对值更小
min_abs = abs(arr[i]); // 更新绝对值最小的数
min_index = i; // 更新绝对值最小的数的索引
}
}
printf("绝对值最小的数为:%d\n", arr[min_index]);
free(arr); // 释放动态分配的数组空间
return 0;
}
```
代码逻辑是先输入 n 和 n 个整数,然后遍历整数数组找到绝对值最小的数,并输出结果。使用 `abs()` 函数求绝对值。注意要动态分配数组空间,并在使用完后释放空间。
用C语言输入n和n个整数,输出其中绝对值最小的数
可以使用以下代码实现:
```c
#include <stdio.h>
#include <stdlib.h>
int main() {
int n;
scanf("%d", &n);
int arr[n];
for (int i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
int min_abs = abs(arr[0]); // 记录当前绝对值最小的数
int min_index = 0; // 记录当前绝对值最小的数的索引
for (int i = 1; i < n; i++) {
if (abs(arr[i]) < min_abs) { // 如果当前数的绝对值更小
min_abs = abs(arr[i]); // 更新绝对值最小的数
min_index = i; // 更新绝对值最小的数的索引
}
}
printf("绝对值最小的数为:%d\n", arr[min_index]);
return 0;
}
```
代码逻辑和上一个问题的代码逻辑基本相同,只是这里使用了静态数组而不是动态分配数组空间。静态数组的缺点是数组长度必须在编译时确定,无法在运行时根据输入的 n 动态分配空间,但是代码更简洁易懂。
阅读全文