我想制作一个代码,以相反的顺序打印输入。
如果我输入整数
6
20
14
5
我想读取不使用数组的数据只是方法
喜欢5 14 20 6,而非5 41 02 6。
接下来我该怎么办?请帮帮我。
#include <stdio.h>
int main(void)
{
int reverResult;
int num;
int i;
int recurnum=0;
printf("Test PrintReverse\n");
printf("Number Please\n");
scanf("%d",&recurnum);
printf("%d is the number of recursion\n", recurnum);
for(i=1 ; i<=recurnum ; i++)
{
scanf("%d\n",&num);
printf("%d\n", num);
}
}
答案 0 :(得分:2)
您 如果不是数组,则需要其他形式的data structure。
[假设需要最简单的方法]这里你想要的是使用array int
来保存输入值。
算法就像这样
并且您将反向打印。 : - )
注意:
0
开始。return
语句。好的做法。[P.S. - 不,我不会在这里写代码。请先尝试一下,如果遇到任何问题,请回来。我们会来帮忙。 :-)]
答案 1 :(得分:0)
您可以使用递归在没有任何数组的情况下执行此操作。递归堆栈将是存储,并将为您提供从堆栈弹出的逆转。我将用伪代码草绘它:
def recursive_read()
x = read_value() // attempt to read a value into x
if x != EOF_INDICATOR // read attempt was NOT end-of-file
recursive_read() // recursively attempt the next read
print x // print the current x when control returns here
endif
return // got EOF, or finished reading/printing. Either way, we're done here!
enddef