c语言题目描述:输入10个互不相同的整数并保存在数组中,找到该最大元素并删除它,输出删除后的数组
时间: 2023-04-06 16:03:22 浏览: 296
可以回答这个问题。以下是代码实现:
#include <stdio.h>
int main() {
int arr[10];
int max = 0;
int maxIndex = 0;
// 输入10个互不相同的整数
printf("请输入10个互不相同的整数:\n");
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]);
}
printf("\n");
return 0;
}
相关问题
c语言2、在一个一维数组中存储的n个互不相同的整数中找出最小值和最大值,将最小值移到第一个数之前,将最大值移到最后一个数之后,其他数保持相对位置不变。
以下是实现该功能的 C 代码:
```
#include <stdio.h>
void swap(int *a, int *b) {
int temp = *a;
*a = *b;
*b = temp;
}
void moveMinMax(int arr[], int n) {
int minIndex = 0, maxIndex = 0;
int i;
for (i = 1; i < n; i++) {
if (arr[i] < arr[minIndex]) {
minIndex = i;
}
if (arr[i] > arr[maxIndex]) {
maxIndex = i;
}
}
swap(&arr[0], &arr[minIndex]);
if (maxIndex == 0) {
maxIndex = minIndex;
}
swap(&arr[n-1], &arr[maxIndex]);
}
int main() {
int arr[] = {3, 5, 1, 7, 9, 2, 4, 6, 8};
int n = sizeof(arr) / sizeof(arr[0]);
moveMinMax(arr, n);
int i;
for (i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```
该程序首先遍历一遍数组,找出最小值和最大值的下标,然后将最小值和第一个数交换,将最大值和最后一个数交换,从而实现题目要求的功能。
如何计算从1到100范围内随机选取的10个互不相同整数的总和并得到它们的平均值?c语言
要计算从1到100范围内随机选取的10个互不相同整数的总和并得到它们的平均值,可以按照以下步骤编写C语言程序:
1. 定义一个数组来存储这10个随机数。
2. 使用循环和`rand()`函数生成10个不同的随机数,确保每个数都在1到100之间。
3. 检查新生成的数是否已经存在于数组中,如果存在则重新生成直到找到一个不同的数。
4. 当10个不同数都被添加到数组后,计算数组元素之和。
5. 计算平均值,即总和除以数组长度。
以下是C语言实现的示例代码[^1]:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define MAX_NUM 100
#define ARRAY_SIZE 10
int main() {
srand(time(0)); // 设置随机种子
int numbers[ARRAY_SIZE], sum = 0;
for (int i = 0; i < ARRAY_SIZE; ++i) {
do {
numbers[i] = rand() % MAX_NUM + 1;
} while (i > 0 && numbers[i] == numbers[i - 1]); // 如果当前数与前一个数相同,则重试
}
printf("Randomly selected unique numbers: ");
for (int j = 0; j < ARRAY_SIZE; ++j) {
printf("%d ", numbers[j]);
sum += numbers[j];
}
printf("\n");
double average = (double)sum / ARRAY_SIZE;
printf("Average of the selected numbers: %.2f\n", average);
return 0;
}
```
: 注意这里并没有使用从1到100的随机数,因为题目要求的是互不相同的10个数,所以使用了`rand() % MAX_NUM + 1`来生成随机数,但确保它们不会重复。
阅读全文