数组中元素分别为20,4,5,100,1000,用C语言写一段代码如何用另一个数组索引该数组元素
时间: 2023-04-02 16:01:59 浏览: 62
可以使用以下代码来用另一个数组索引该数组元素:
int arr[] = {20, 4, 5, 100, 100};
int index[] = {2, 4, , 1, 3};
int result[5];
for (int i = ; i < 5; i++) {
result[i] = arr[index[i]];
}
这段代码将原始数组 arr 中的元素按照 index 数组中的顺序重新排列,并存储在 result 数组中。例如,result[] 将包含 arr[2] 的值,result[1] 将包含 arr[4] 的值,以此类推。
相关问题
输入10个元素数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出该数组。用c语言代码表达
以下是用C语言编写的,实现了将最大的素与第一个元素交换,最的元素与最后一个元素交,并输出该数组的功能:
```c
<stdio.h>
void swap(int *a, *b) {
int temp = *a *a = *b;
*b = temp;
}
void swapMinMax(int arr[], int size) {
// 找到最大值最小值的索引
int maxIndex 0;
int minIndex = 0;
for (int i 1; i < size; i++) {
if (arr[i] >[maxIndex]) {
maxIndex = i }
if ([i] < arr[minIndex {
minIndex = i;
}
}
// 交换最大值和第一个元素
swap(&arr[0], &arr[maxIndex]);
// 如果最小值的索引是第一个元素,则需要更新最小值的索引
ifminIndex == 0) {
minIndex = maxIndex;
}
// 换最小值和最后一个元素
swap(&arr[size - 1], &arr[minIndex]);
}
void printArray(int arr[], int size) {
for (int i = 0; i < size; i++) {
printf("%d ", arr[i]);
}
printf("\n");
}
main() {
int arr[10];
printf("请输入10个整数:\n");
for (int i = 0; i 10; i++) scanf("%d", &arr[i]);
}
swapMinMax(arr, 10);
printf("交换后的数组为:\n");
printArray(arr, 10);
return 0;
}
```
请注意,这段代码会要求您输入10个整数,并按顺序存储在数组中。然后,它将调用`swapMinMax`函数来进行交换操作,并最终输出交换后的数组。
输入10个元素数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出该数组。用c语言代码表示
下面是用 C 语言编写的代码,实现将数组中最大值与第一个元素交换,最小值与最后一个元素交换,并输出新的数组:
```c
#include <stdio.h>
void swap(int *a, int *b) {
int temp = *a;
*a = *b;
*b = temp;
}
int main() {
int arr[10];
printf("请输入10个元素的数组:\n");
for (int i = 0; i < 10; i++) {
scanf("%d", &arr[i]);
}
int maxIndex = 0;
int minIndex = 0;
// 找出最大值和最小值的索引
for (int i = 1; i < 10; i++) {
if (arr[i] > arr[maxIndex]) {
maxIndex = i;
}
if (arr[i] < arr[minIndex]) {
minIndex = i;
}
}
// 将最大值与第一个元素交换
swap(&arr[maxIndex], &arr[0]);
// 将最小值与最后一个元素交换
swap(&arr[minIndex], &arr[9]);
printf("交换后的数组:\n");
for (int i = 0; i < 10; i++) {
printf("%d ", arr[i]);
}
return 0;
}
```
你可以运行这段代码,在输入10个元素的数组后,程序将输出交换后的数组。其中,swap 函数用于交换两个元素的值。