用c语言编写主程序,由用户输入数组中元素的个数以及数值元素的初始值,通过调用函数实现逆序排列
.编写一个函数,使得它能够将一个有n个数的数组中的各个元素按逆序重新存放,例如原来的顺序为:8,6,5,4,1。要求改为:1,4,5,6,8,并输出初始元素和逆序后的数组...
.编写一个函数,使得它能够将一个有n个数的数组中的各个元素按逆序重新存放,例如原来的顺序为:8,6,5,4,1。要求改为:1,4,5,6,8, 并输出初始元素和逆序后的数组元素,并编写主程序,由用户输入数组中元素的个数以及数值元素的初始值,通过调用函数实现逆序排列。
展开
2个回答
展开全部
#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");
}
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");
}
展开全部
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;
}
{
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;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询