要求
编写程序,输入n个整数存入一维数组,再按逆序重新存放后再输出。(用指针实现)
代码
#include<stdio.h>
/*
* 该函数用来输入一维整数数组,输入的数据存放在形参a数组中
* 输入的数据以0作为结束标志,0不存入数组也不计入输入数据的总数
* 返回值为输入数据的个数
*/
int input(int a[])
{
int n=0;
int b = 0;
do
{
scanf("%d",&b);
if(b == 0)
break;
else
{
a[n] = b;
n++;
}
}
while(b != 0);
return n;
}
/*
* 该函数用来实现计算形参数组a的逆序存放
* n为a数组中的整数个数
*/
void fun(int a[],int n)
{
int b[n],c = 0;
for(int i = n-1;i>=0;i--)
{
b[c] = a[i];
c++;
}
for(int i = 0;i<n;i++)
{
a[i] = b[i];
}
}
main函数
int main()
{
int a[200],n;
n=input(a);
fun(a,n);
for(int i=0;i<n;i++)
printf("%d ",a[i]);
return 0;
}
测试
测试输入
1 3 5 7 0
输出
7 5 3 1