用C语言输入一个整数,输出他的绝对值
时间: 2024-05-02 16:18:22 浏览: 156
```
#include <stdio.h>
int main() {
int num;
printf("请输入一个整数:");
scanf("%d", &num);
if (num < 0) {
num = -num;
}
printf("它的绝对值是:%d\n", num);
return 0;
}
```
或者可以使用数学库中的abs函数:
```
#include <stdio.h>
#include <stdlib.h>
int main() {
int num;
printf("请输入一个整数:");
scanf("%d", &num);
num = abs(num);
printf("它的绝对值是:%d\n", num);
return 0;
}
```
相关问题
用C语言求n个整数中的绝对值最大的数(要求n个数的绝对值不相等)。 输入格式: 输入数据有2行,第一行为n,第二行是n个整数。 输出格式: 输出n个整数中绝对值最大的数。 输入样例:
为了在C语言中解决这个问题,你可以按照以下步骤编写程序:
1. 首先,你需要定义一个变量`max_abs`来存储当前找到的最大绝对值,初始化它为0。
2. 然后读取用户提供的n和n个整数,可以使用数组或循环结构来接收输入。
3. 对于每个输入的整数,计算它的绝对值并与`max_abs`比较。如果当前绝对值大于`max_abs`,则更新`max_abs`。
4. 循环结束后,`max_abs`将包含n个整数中最大的绝对值。
5. 最后,打印出`max_abs`作为结果。
下面是一个简单的示例代码:
```c
#include <stdio.h>
#include <stdlib.h> // for abs() function
int main() {
int n;
scanf("%d", &n);
int* numbers = malloc(n * sizeof(int)); // 创建一个大小为n的整数数组
if (numbers == NULL) {
printf("Memory allocation failed.\n");
return 1;
}
// 读取并存储n个整数
for (int i = 0; i < n; i++) {
scanf("%d", &numbers[i]);
}
// 找到最大绝对值
int max_abs = abs(numbers[0]); // 从第一个元素开始
for (int i = 1; i < n; i++) {
if (abs(numbers[i]) > max_abs) {
max_abs = abs(numbers[i]);
}
}
// 输出结果
printf("The absolute value of the largest number is: %d\n", max_abs);
free(numbers); // 释放内存
return 0;
}
用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()` 函数求绝对值。注意要动态分配数组空间,并在使用完后释放空间。
阅读全文