有两种方法
第一种:(优先考虑第一种)
#include <stdio.h>
int main()
{
int i,n,j;
printf("请选择需要向数组中输入几个元素:");
int a[n],b[n];
scanf("%d",&n);
printf("正序输入:");
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
for(j=0;j<n;j++)
{
i--;
b[j]=a[i];
}
for(i=0;i<n;i++)
{
printf("逆序输出%d\n",b[i]);
}
return 0;
}
第二种:(缺点是只能向数组中输入5个数组元素)
#include <stdio.h>
int main()
{
const int n=5;
int a[n];
int i,temp;
printf("Original:");
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
for(i=0;i<n/2;i++)
{
temp=a[i];
a[i]=a[n-1-i];
a[n-1-i]=temp;
}
printf("New\n");
for(i=0;i<n;i++)
printf("%d\n",a[i]);
return 0;
}
总结:在做这道题目的时候,忘记scanf()函数输入值的时候,忘记给数组a[i]加上&符了,导致程序运行出现了错误,下次需要记住。
增加的知识:进行while循环和for循环时
例如for (int i=0;i<5;i++)
while(i<5)
{
i++
}
结束循环时i的值会被保留成5,不会出来循环的时候被初始化。