C语言输入10个互不相同的整数并保存在数组中,找到该最大元素并删除它,输出删除后的数组
时间: 2024-05-04 11:16:27 浏览: 214
好的,我来回答你的问题。
你可以使用以下C语言代码来实现这个功能:
```
#include <stdio.h>
int main() {
int arr[10];
int max = 0, i, j;
// 从用户输入中读取10个整数
printf("请输入10个互不相同的整数:\n");
for (i = 0; i < 10; i++) {
scanf("%d", &arr[i]);
}
// 找到最大元素的索引位置
for (i = 0; i < 10; i++) {
if (arr[i] > arr[max]) {
max = i;
}
}
// 删除最大元素
for (i = max; i < 9; i++) {
arr[i] = arr[i + 1];
}
// 输出删除后的数组
printf("删除最大元素后的数组为:\n");
for (i = 0; i < 9; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```
上面的代码首先从用户输入中读取10个整数,然后找到其中最大的元素的索引位置。接着,使用一个循环将最大元素后面的所有元素往前移动一位,相当于删除了最大元素。最后,输出删除后的数组。
希望以上代码对你有所帮助!
相关问题
本关任务:用c语言输入10个互不相同的整数并保存到数组中,找到最大元素并删除它,输出删除后的数组。
好的,以下是使用 C 语言实现的程序,可以实现输入 10 个互不相同的整数并保存到数组中,找到最大元素并删除它,输出删除后的数组:
```c
#include <stdio.h>
int main() {
int a[10];
int i, max, index;
// 输入 10 个互不相同的整数并保存到数组中
printf("请输入 10 个互不相同的整数:\n");
for (i = 0; i < 10; i++) {
scanf("%d", &a[i]);
}
// 找到最大元素并删除它
max = a[0];
index = 0;
for (i = 1; i < 10; i++) {
if (a[i] > max) {
max = a[i];
index = i;
}
}
for (i = index; i < 9; i++) {
a[i] = a[i+1];
}
// 输出删除后的数组
printf("删除最大元素后的数组为:\n");
for (i = 0; i < 9; i++) {
printf("%d ", a[i]);
}
printf("\n");
return 0;
}
```
你只需要将以上代码复制到 C 语言编译器中并运行,就可以实现你想要的功能了。
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个整数互不相同,如果输入的数中有重复的元素,需要在输入时进行去重处理。
阅读全文