题目描述
输入多个整数,以0结束,将这些整数逆序后输出。
要求:使用递归函数将数组倒序,在main中调用递归函数。
输入
多个整数,最后为0。
输出
逆序后的这些整数。
样例输入
1 2 5 4 0 1 2 3 4 5 6 7 8 9 0
样例输出
4 5 2 1 9 8 7 6 5 4 3 2 1
#include "stdio.h"
void Inverse(int a[ ], int left, int right) {
int tmp=0;
if(left >= right) return;
tmp = a[left];
a[left] = a[right];
a[right] = tmp;
Inverse(a, left + 1, right - 1);
}
void main( ) {
int data, n = 0;
while(scanf("%d", &data)!=EOF)
{
int a[100]={0};
while(data) {
a[n++] = data;
scanf("%d", &data);
}
Inverse(a, 0, n - 1);
for(int i = 0; i < n; i++)
if(a[i]!=0)
printf("%d ", a[i]);
printf("\n");
}
}