用c语言编写主程序,由用户输入数组中元素的个数以及数值元素的初始值,通过调用函数实现逆序排列

.编写一个函数,使得它能够将一个有n个数的数组中的各个元素按逆序重新存放,例如原来的顺序为:8,6,5,4,1。要求改为:1,4,5,6,8,并输出初始元素和逆序后的数组... .编写一个函数,使得它能够将一个有n个数的数组中的各个元素按逆序重新存放,例如原来的顺序为:8,6,5,4,1。要求改为:1,4,5,6,8, 并输出初始元素和逆序后的数组元素,并编写主程序,由用户输入数组中元素的个数以及数值元素的初始值,通过调用函数实现逆序排列。 展开
 我来答
乁Freedom
2009-05-25 · TA获得超过2128个赞
知道小有建树答主
回答量:1580
采纳率:0%
帮助的人:1399万
展开全部
#include<stdio.h>
void reverse(int num[],int length)
{
int i;
printf("你输入的数是:");
for(i=0;i<length;i++)
{
printf("%d ",num[i]);
}
printf("\n逆排后的数是:");
for(i=length-1;i>=0;i--)
{
printf("%d ",num[i]);
}
}
void main()
{
int num[100];
int i,len;
printf("你想输入多少个数:");
scanf("%d",&len);
for(i=0;i<len;i++)
{
printf("请输入第%d个数:",i+1);
scanf("%d",&num[i]);
}
reverse(num,len);
printf("\n");
}
花开月夜读书9143
2009-05-25 · TA获得超过151个赞
知道答主
回答量:164
采纳率:0%
帮助的人:166万
展开全部
void reverse( int* a, int n )
{
int* p1 = a;
int* p2 = a + n - 1;

int temp = 0;

while( p1 < p2 )
{
temp = *p1;
*p1 = *p2;
*p2 = temp;

p1++;
p2--;
}
}

int main()
{
int a[10];

printf("请输入10个整数:\n");

for( int i = 0; i < 10; i++ )
{
scanf( "%d", &a[i] );
getchar();
}

printf("初始元素:\n");
for( int i = 0; i < 10; i++ )
{
printf("%d\t", a[i]);
}

reverse( a, 10 );

printf("逆序后的元素:\n");
for( int i = 0; i < 10; i++ )
{
printf("%d\t", a[i]);
}

return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式