c语言已知int arr1[]={1,3,5,7,9}; int arr2[]={2,4,6,8,10};交换两个数组的值并显示出来。
时间: 2024-04-07 15:24:31 浏览: 47
以下是交换两个数组的值并显示的C语言代码:
```c
#include <stdio.h>
#include <stdlib.h>
int main()
{
int arr1[] = {1, 3, 5, 7, 9};
int arr2[] = {2, 4, 6, 8, 10};
int temp;
int i;
for (i = 0; i < 5; i++) {
temp = arr1[i];
arr1[i] = arr2[i];
arr2[i] = temp;
}
printf("arr1: ");
for (i = 0; i < 5; i++) {
printf("%d ", arr1[i]);
}
printf("\n");
printf("arr2: ");
for (i = 0; i < 5; i++) {
printf("%d ", arr2[i]);
}
printf("\n");
return 0;
}
```
输出结果为:
```
arr1: 2 4 6 8 10
arr2: 1 3 5 7 9
```
相关问题
int size = sizeof(arr) / sizeof(arr[0]);
这段代码用于计算数组的长度。在C语言中,数组的长度是固定的,一旦定义后就无法改变。为了获取数组的长度,可以使用sizeof运算符来计算数组所占的总字节数,然后除以数组中每个元素所占的字节数,即可得到数组的长度。
具体来说,`sizeof(arr)`表示数组`arr`所占的总字节数,`sizeof(arr)`表示数组`arr`中第一个元素所占的字节数。通过将总字节数除以每个元素的字节数,可以得到数组的长度。
这种计算数组长度的方法适用于静态数组,即在编译时已知数组大小的情况下。对于动态分配的数组或指针,无法使用这种方法来获取数组的长度。
需要注意的是,这种计算数组长度的方法只适用于一维数组。对于多维数组,需要根据具体情况进行计算。
相关问题:
1. 如何计算动态分配数组的长度?
2. 什么是一维数组和多维数组?
3. C语言中还有其他方法可以获取数组的长度吗?
用c语言,已知数组 a[10]={3,7,9,11,0,6,7,5,4,2},找出最大元素的下标,(主函数用findmax子函数求解)
可以使用以下代码实现:
```c
#include <stdio.h>
int findmax(int arr[], int size) {
int max = arr[0];
int index = 0;
for (int i = 1; i < size; i++) {
if (arr[i] > max) {
max = arr[i];
index = i;
}
}
return index;
}
int main() {
int a[10] = {3, 7, 9, 11, 0, 6, 7, 5, 4, 2};
int max_index = findmax(a, 10);
printf("The index of the maximum element is: %d\n", max_index);
return 0;
}
```
在 `findmax` 函数中,使用一个循环遍历整个数组,每次比较当前元素和最大值,如果当前元素大于最大值,则更新最大值和对应的下标。最后返回最大值的下标。
在 `main` 函数中,定义数组 `a`,调用 `findmax` 函数来获取最大元素的下标,并打印输出。