用一维数组输入n个整数,将这n个整数逆序存放
我是刚开始学C语言的小渣渣...用一维数组输入n个整数,将这n个整数逆序存放。(注意:是逆序存放不是逆序输出),怎么编程啊?
2015-05-07 15:01
程序代码:
#include <stdio.h>
#include <malloc.h>
int main()
{
int n=0;
printf("请输入n个整数中的n是:");
scanf("%d",&n);
int* p;
int i=0;
int m=0;
p=(int*)malloc(n*sizeof(int)); //因不知输入的数据量 所以不能类似int a[n]的声明
printf("请输入一组数据 容量为%d:\n",n);
for(;i<n;i++)
{
scanf("%d",&m);
*(p+i)=m;
}
//对于输入的数据 进行首尾交换
int tmp;
i=0;
m=n-1;
while(i<=m)
{
tmp=*(p+i);
*(p+i)=*(p+m);
*(p+m)=tmp;
i++;
m--;
}
//对逆置后的数据进行输出
i=0;
for(;i<n;i++)
{
printf("%d ",*(p+i));
}
free(p);
return 0;
}

2015-05-07 15:14
2015-05-14 10:22
程序代码:#include"stdio.h"
#define M 1000
int main()
{
int a[M],b[M];
int n,i,j=1;
printf("请输入数据长度n:\n");
scanf("%d",&n);
printf("请输入n个数据:\n");
for(i=1;i<=n;i++)
scanf("%d",&a[i]);
for(i=n;i>0;i--)
b[j++]=a[i];
printf("逆序储存后放入b数组,结果如下:\n");
for(i=1;i<=n;i++)
printf("%d ",b[i]);
}

2015-05-14 12:06