题目描述
输入n(1<=n<=10)和n个整数,逆序输出这n个整数。
输入
输入n(1<=n<=10),然后输入n个整数。
输出
逆序输出这n个整数,每个整数占4列,右对齐。
样例输入 Copy
6
4 5 6 1 2 3
样例输出 Copy
3 2 1 6 5 4
这个我写的特别复杂,主演是用来了解学习函数的递归调用的(脸不红心不跳的给自己开脱 哈哈)
//我的思路(我忘了是不是偷看的别人博客的思路)是输入一次,便进行输出,首先输入的头部首先输出,等输入完毕,逆序输出完毕;
#include <stdio.h>
void inverse(int n)
{
int num;
if (n > 1)
{
scanf("%d", &num);
inverse(n - 1);
//因为是n个整数,所以可以递归调用,建议不太懂的可以Debug一下,看一下是怎么递归的
printf("%4d", num);
//%4d每个整数占4列,右对齐。 %-4d每个整数占4列,左对齐
}
if (n == 1)
{
scanf("%d", &num);
printf("%4d", num);
}
}
int main()
{
int n;
scanf("%d", &n);
inverse(n);
return 0;
}
下面是我看到一个比较简单的实现方法
#include<stdio.h>
int main()
{
int n,t[10],i;
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d",&t[i]);
//把输入的数字存入数组,然后遍历数组就可以逆序输出了
for(i=n-1;i>=0;i--)
printf("%4d",t[i]);
return 0;
}