用C语言先输入正整数n,再输入n个整数。输出这n个数据的极差。极差是指n个整数中的最大值与最小值的差值. [输入格式]第一行包含1个整数,为n的值;第二行包含n个整数。 [输出格式]一个非负整数,表示极差。
时间: 2024-02-25 14:57:56 浏览: 104
好的,以下是 C 语言代码实现:
```c
#include <stdio.h>
int main() {
int n, i, max, min;
// 输入 n 和 n 个整数
scanf("%d", &n);
// 先输入第一个整数作为最大值和最小值的初始化
scanf("%d", &max);
min = max;
// 寻找最大值和最小值
for (i = 1; i < n; i++) {
int num;
scanf("%d", &num);
if (num > max) {
max = num;
}
if (num < min) {
min = num;
}
}
// 计算极差并输出结果
int range = max - min;
printf("%d\n", range);
return 0;
}
```
代码中,我们首先使用 scanf 函数输入正整数 n,再使用一个循环输入 n 个整数,同时寻找这些整数中的最大值和最小值。最后,我们计算最大值和最小值的差值,即为极差,并输出结果。
相关问题
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 个整数,每次读入一个数时,都和当前的最大值和最小值进行比较,以更新最大值和最小值。最后,输出最大值与最小值的差,即为极差。
请用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. 释放动态分配的内存,并结束程序。
希望我的回答能够帮助到您!
阅读全文