编写c语言程序,将n个数按原来的顺序的逆序排列(要求用指针实现),然后编写主函

2024-11-08 01:34:42
推荐回答(3个)
回答1:

#include
int last[10];
void operate(int *ptr)
{
int j=0;
for(i=9;i>=0;i--)//排序后的结果放在last数组中,
{
last[j++]=*(ptr+i);
}
}
int main()
{
int i,n,s[10];
for(i=0;i<10;i++)
scanf("%d",&s[i]); //输入10个数,保存在数组里
operat(s); //调用此函数进行重排
for(i=0;i<10;i++)
printf("%d",&last[i]); //(3)输出重排后的结果,因为last是全局变量,所以这里可以使用。
}

回答2:

#include
void fun(int *p,int n)
{
for(int i=n-1;i>=0;i--)
printf("%d ",*(p+i)); //*(p+i)与s[i]一样
}
int main()
{
int i,n,s[100];
scanf("%d",&n); //输入n,表示有n个数
for(i=0;i scanf("%d",&s[i]); //输入n个数,保存在数组里
fun(s,n);
printf("\n");
return 0;
}

回答3:

#include
void reverse(int *a,int n)
{
int i,t;
for(i=0;i {
t=*(a+i);
*(a+i)=*(a+n-i-1);
*(a+n-i-1)=t;
}
}
int main()
{
int i,a[10];
for(i=0;i<10;i++)
scanf("%d",&a[i]);
reverse(a,10);
for(i=0;i<10;i++)
printf("%d ",a[i]);
printf("\n");
return 0;
}