输入10个互不相同的整数并保存到数组中,找到最大元素并删除它,输出删除后的数组。C语言
时间: 2024-02-01 19:16:09 浏览: 27
以下是一个示例代码:
```c
#include <stdio.h>
int main() {
int arr[10]; // 定义一个长度为10的整型数组
int max = 0, maxIndex = 0;
// 循环读入10个整数
for (int i = 0; i < 10; i++) {
scanf("%d", &arr[i]);
if (arr[i] > max) { // 找到最大值及其下标
max = arr[i];
maxIndex = i;
}
}
// 从数组中删除最大元素
for (int i = maxIndex; i < 9; i++) {
arr[i] = arr[i+1];
}
// 输出删除后的数组
printf("删除最大元素后的数组:\n");
for (int i = 0; i < 9; i++) {
printf("%d ", arr[i]);
}
return 0;
}
```
这段代码通过循环读入10个整数,并在读入时记录最大值及其下标。然后,通过循环将最大元素从数组中删除,并输出删除后的数组。
相关问题
c语言输入10个互不相同的整数并保存到数组中,找到最大元素并删除它,输出删除后的数组。
下面是一个实现这个功能的C语言代码:
```c
#include <stdio.h>
#define SIZE 10
int main() {
int nums[SIZE];
int maxIndex = 0;
// 输入10个互不相同的整数
printf("请输入10个互不相同的整数:\n");
for (int i = 0; i < SIZE; i++) {
scanf("%d", &nums[i]);
}
// 找到最大元素的下标
for (int i = 1; i < SIZE; i++) {
if (nums[i] > nums[maxIndex]) {
maxIndex = i;
}
}
// 删除最大元素
for (int i = maxIndex; i < SIZE - 1; i++) {
nums[i] = nums[i + 1];
}
// 输出删除后的数组
printf("删除最大元素后的数组为:\n");
for (int i = 0; i < SIZE - 1; i++) {
printf("%d ", nums[i]);
}
printf("\n");
return 0;
}
```
代码中使用了一个名为`nums`的整型数组来保存输入的10个整数,使用`maxIndex`变量来记录最大元素的下标。首先,程序会提示用户输入10个互不相同的整数,并将它们保存到`nums`数组中。然后,程序会遍历`nums`数组,找到最大元素的下标并保存到`maxIndex`变量中。接着,程序会使用一个循环来删除最大元素,即将其后面的元素依次前移,覆盖掉最大元素。最后,程序会输出删除最大元素后的数组。注意,输出时只需要输出前9个元素即可,因为最后一个元素已经被删除了。
c语言编程输入10个互不相同的整数并保存到数组中,找到最大元素并删除它,输出删除后的数组。
好的,以下是代码实现:
```c
#include <stdio.h>
int main() {
int arr[10];
int max = 0;
int maxIndex = 0;
printf("请输入10个互不相同的整数:\n");
// 输入10个整数并保存到数组中
for (int i = 0; i < 10; i++) {
scanf("%d", &arr[i]);
if (arr[i] > arr[maxIndex]) {
max = arr[i];
maxIndex = i;
}
}
// 删除最大元素并输出删除后的数组
for (int i = maxIndex; i < 9; i++) {
arr[i] = arr[i + 1];
}
printf("删除最大元素后的数组为:\n");
for (int i = 0; i < 9; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```
代码说明:
1. 定义一个长度为10的整型数组 `arr` ,用来保存输入的整数。
2. 通过循环输入10个整数,并且在输入的过程中,找到最大元素并记录其下标。
3. 根据最大元素的下标,从数组中删除最大元素。
4. 输出删除最大元素后的数组。
注意:以上代码假设输入的10个整数互不相同,如果输入的数中有重复的元素,需要在输入时进行去重处理。