编一个程序,输入15个整数存入一维数组,在按逆序重新存放后再输出。

编一个程序,输入15个整数存入一维数组,在按逆序重新存放后再输出。要求用指向数组的指针变量来处理数组元素。

第1个回答  2008-04-20
先前忘了按逆序重新存放后再输出.

#include<stdio.h>
void main()
{
int i,j;
int k,a[15]={0},*p=a;
printf("please input a[15]:");
for(i=0;i<15;i++)scanf("%d",&a[i]);
for(i=0;i<15;i++)
for(j=i;j<15;j++)
if(*(p+i)<*(p+j))
{
k=*(p+i);
*(p+i)=*(p+j);
*(p+j)=k;
}
for(i=0;i<15;i++)
printf("%d ",*(p+i));
printf("\n");
}

/*运行结果:
please input a[15]:8 3 9 14 21 6 2 7 10 1 15 24 5 11 22
24 22 21 15 14 11 10 9 8 7 6 5 3 2 1
*/
第2个回答  2019-04-12
代码如下,希望对楼主有所帮助。
/*
note:your
choice
is
c
ide
*/
#include
"stdio.h"
void
main()
{

int
a[5]={1,2,5,3,9},b[5];

int
i,*p;

p=a;

for(i=0;i<5;i++)
{
printf("%d
",a[i]);
}
printf("\n");
for(i=4;i>=0;i--)
{
b[i]=*p;
p++;
}
for(i=0;i<5;i++)
{
printf("%d
",b[i]);
}
}
已运行过,结果正确。此程序重点在于数组和指针的应用,结果不是最终目标,理解程序的内涵举一反三才是我的要达到的。
第3个回答  2020-03-13
这个简单
好象写过
再来一遍
#include
template
void
To_Min(T
(&ary)[sz]){
T
temp=0;
for(std::size_t
i=0;i
ary[j]){
temp=ary[i];
ary[i]=ary[j];
ary[j]=temp;
}
}
}