将一个数组的10个元素反序,用函数实现,并写出重要变量用途说明
程序提示:在主函数中用for循环通过scanf函数输入数组元素值,调用函数,用for循环输出结果。
void inverse(int *p)
{
循环for(i=0;i<10/2;i++)
*(p+i)与*(p+9-i)交换,就能实现反序
}
下面是实现将一个数组的10个元素反序的函数代码:
void inverse(int *p) {
int i, temp;
for (i = 0; i < 10 / 2; i++) {
temp = *(p + i);
*(p + i) = *(p + 9 - i);
*(p + 9 - i) = temp;
}
}
重要变量用途说明:
int *p
:指向数组首元素的指针,通过传参的方式将数组地址传入函数中;int i
:循环计数器,控制遍历数组;int temp
:中间变量,用于交换两个元素的值。在主函数中,通过 for 循环使用 scanf 函数输入数组元素值,并调用 inverse
函数,用 for 循环输出结果。示例如下:
#include <stdio.h>
void inverse(int *p);
int main() {
int arr[10];
int i;
// 输入数组元素
for (i = 0; i < 10; i++) {
scanf("%d", &arr[i]);
}
// 反序
inverse(arr);
// 输出结果
for (i = 0; i < 10; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
在主函数中,定义了一个长度为 10 的整型数组 arr
,通过 for 循环使用 scanf 函数输入数组元素;然后调用 inverse
函数,将数组地址传给该函数进行反序操作;最后,再使用 for 循环输出结果。
该问题已给出了具体的解决方案,所以我不需要再提供其他的代码和解释。