用c写先输入正整数n,再输入n个整数。输出这n个数据的极差。极差是指n个整数中的最大值与最小值的差值。【输入格式】第一行包含1个整数,为n的值;第二行包含n个整数。
时间: 2024-02-17 17:02:17 浏览: 28
以下是用C语言实现的代码:
```c
#include <stdio.h>
int main() {
int n, i, max, min, num;
// 读取n的值和第一个数
scanf("%d%d", &n, &num);
max = num;
min = num;
// 依次读取n-1个数,更新最大值和最小值
for (i = 2; i <= n; i++) {
scanf("%d", &num);
if (num > max) {
max = num;
}
if (num < min) {
min = num;
}
}
// 输出极差
printf("%d\n", max - min);
return 0;
}
```
首先读取n的值和第一个数,并将其作为当前的最大值和最小值。然后依次读取剩下的n-1个数,每次更新最大值和最小值。最后输出它们的差值即可。
相关问题
请用C语言代码编程:先输入正整数n,再输入n个整数,最后输出这n个数据的极差。
好的,以下是符合您要求的C语言代码:
```
#include <stdio.h>
#include <stdlib.h>
int main() {
int n, i, max, min, range;
printf("请输入正整数n:");
scanf("%d", &n);
int *arr = (int*)malloc(n * sizeof(int));
printf("请输入%d个整数:", n);
for (i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
max = arr[0];
min = arr[0];
for (i = 1; i < n; i++) {
if (arr[i] > max) {
max = arr[i];
}
if (arr[i] < min) {
min = arr[i];
}
}
range = max - min;
printf("这%d个数据的极差为:%d\n", n, range);
free(arr);
return 0;
}
```
代码解析:
1. 首先输入正整数n,表示接下来要输入的n个整数。
2. 使用动态内存分配,申请一个大小为n的整型数组arr。
3. 输入n个整数,并在循环中更新最大值和最小值。
4. 计算极差,并输出结果。
5. 释放动态分配的内存,并结束程序。
希望我的回答能够帮助到您!
c语言 先输入正整数n,再输入n个整数。输出这n个数据的极差。极差是指n个整数中的最大值与最小值的差值
好的,针对你的问题,我可以给你提供以下的 C 语言代码实现:
```c
#include <stdio.h>
int main() {
int n, max, min;
// 读入 n 和第一个数作为最大值和最小值的初始值
scanf("%d", &n);
scanf("%d", &max);
min = max;
// 依次读入剩余的 n - 1 个数,并更新最大值和最小值
for (int i = 2; i <= n; i++) {
int x;
scanf("%d", &x);
if (x > max) {
max = x;
}
if (x < min) {
min = x;
}
}
// 输出极差
printf("%d\n", max - min);
return 0;
}
```
这个程序中,我们首先读入正整数 n,然后读入 n 个整数,每次读入一个数时,都和当前的最大值和最小值进行比较,以更新最大值和最小值。最后,输出最大值与最小值的差,即为极差。