编写程序,输入10个互不相同的整数,输出其中的最大数和次大数。用C语言实现
时间: 2024-02-22 17:59:22 浏览: 29
好的,以下是用C语言实现的程序:
```c
#include <stdio.h>
int main() {
int nums[10];
int max = 0, second_max = 0;
printf("请输入10个互不相同的整数:\n");
for (int i = 0; i < 10; i++) {
scanf("%d", &nums[i]);
if (nums[i] > max) {
second_max = max;
max = nums[i];
} else if (nums[i] > second_max) {
second_max = nums[i];
}
}
printf("最大数是:%d\n", max);
printf("次大数是:%d\n", second_max);
return 0;
}
```
程序的思路是,先定义一个数组 `nums` 来存储输入的10个整数,再定义两个变量 `max` 和 `second_max` 来分别表示最大数和次大数,初始值都为0。然后使用 for 循环分别输入10个整数,并比较每个数与 `max` 和 `second_max` 的大小关系,更新它们的值。最后输出 `max` 和 `second_max` 即可。
相关问题
c语言输入 输入10个互不相同整数 输出 输出删除最大元素后的数组
以下是一个实现该功能的 C 代码示例:
```c
#include <stdio.h>
#define MAX_SIZE 10
int main() {
int arr[MAX_SIZE];
int max_index = 0;
// 输入
printf("请输入%d个互不相同的整数:\n", MAX_SIZE);
for (int i = 0; i < MAX_SIZE; i++) {
scanf("%d", &arr[i]);
if (arr[i] > arr[max_index]) {
max_index = i;
}
}
// 删除最大元素
for (int i = max_index; i < MAX_SIZE - 1; i++) {
arr[i] = arr[i + 1];
}
// 输出
printf("删除最大元素后的数组为:\n");
for (int i = 0; i < MAX_SIZE - 1; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```
该程序中,我们定义了一个数组 `arr` 来存储输入的 10 个整数。我们还定义了一个变量 `max_index` 来记录数组中最大元素的下标。在输入过程中,我们比较每个输入的整数与目前最大元素的大小关系,如果当前输入的整数比最大元素大,则更新 `max_index`。在输入完成后,我们通过一个循环将最大元素删除,并将后面的元素依次向前移动。最后,我们输出删除最大元素后的数组。
使用c语言实现从键盘中输入10个互不相同的整数,输出这10个数并求其中的最小数
以下是使用C语言实现从键盘中输入10个互不相同的整数,输出这10个数并求其中的最小数的代码:
```c
#include <stdio.h>
int main() {
int arr[10];
int min = 0;
printf("请输入10个互不相同的整数:\n");
for(int i = 0; i < 10; i++) {
scanf("%d", &arr[i]);
if(i == 0) {
min = arr[i];
} else {
if(arr[i] < min) {
min = arr[i];
}
}
}
printf("您输入的10个整数为:");
for(int i = 0; i < 10; i++) {
printf("%d ", arr[i]);
}
printf("\n其中的最小数为:%d", min);
return 0;
}
```
运行结果示例:
```
请输入10个互不相同的整数:
5 2 9 1 7 3 6 8 4 0
您输入的10个整数为:5 2 9 1 7 3 6 8 4 0
其中的最小数为:0
```