编写一个函数,用指针将int a[10]数组中的元素逆序放置。在主函数中输入数组,输出逆序后的结果。

(a) 题目解析及要求:
1. 编写reverse函数用于将数组a中的元素逆序。
2. 编写print函数用于输出数组的元素。
3. 在主函数中初始化数组a,调用reverse函数,将数组a逆序,调用print函数,输出数组的内容。

我说一下思路吧
reverse中定义一个中间变量(temp)
利用temp存储第一个元素(或最后一个元素) 然后把最后一个元素赋给第一个,temp的值赋给最后一个 这就完成了第一个和最后一个的元素的交换
接下来是第二个和倒数第二个 第三个和倒数第三个 以此类推···

for(i = 0; i < sizeof(a)/2; i++)
{
temp = a[i];
a[i] = a [10-i];
a[10-i] = temp;
}追问

大概明白了 能不能帮忙给个具体代码

追答

我刚刚给了那个几行的 就是我上面说的思路的实现 其他小问题 你可以解决滴

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-10-01
VC6.0下编译通过
#include<stdio.h>
void reverse(int vArray[],int vSize)
{
int tTmp;
for(int i = 0;i<vSize/2;i++)
{
tTmp = vArray[i];
vArray[i] = vArray[vSize-1-i];
vArray[vSize-1-i] = tTmp;
}
}
void print(int vArray[],int vSize)
{
for(int i = 0;i<vSize;i++)
{
printf("%d",vArray[i]);
printf("\n");
}
}

int main(int argc,char* argv[])
{
int tArray[] = {6,2,9,4,8,7,3,5,45,66};
reverse(tArray,sizeof(tArray)/sizeof(int));
print(tArray,sizeof(tArray)/sizeof(int));
return 0;
}
第2个回答  推荐于2016-11-28
VC6.0下编译通过
#include<stdio.h>
void reverse(int vArray[],int vSize)
{
int tTmp;
for(int i = 0;i<vSize/2;i++)
{
tTmp = vArray[i];
vArray[i] = vArray[vSize-1-i];
vArray[vSize-1-i] = tTmp;
}
}
void print(int vArray[],int vSize)
{
for(int i = 0;i<vSize;i++)
{
printf("%d",vArray[i]);
printf("\n");
}
}

int main(int argc,char* argv[])
{
int tArray[] = {6,2,9,4,8,7,3,5,45,66};
reverse(tArray,sizeof(tArray)/sizeof(int));
print(tArray,sizeof(tArray)/sizeof(int));
return 0;
}本回答被提问者采纳
相似回答