输入一个正整数 N,打印一个对称数列,从 1 到 N,再从 N 到 1。例如: N=4 时,输出: 1 2 3 4 3 2 1
这个我想了好久都没想出来啊

求解
2018-02-04 13:09

2018-02-04 16:06
程序代码:
#include <iostream>
int foo(int i)
{
int n = 0;
if (1 == i) n = 1;
else n = foo(i - 1) + 3 * (i - 1);
std::cout << n << " ";
return n;
}
int Nprint(int n)
{
unsigned int i = 1;
unsigned int N = n - 1;
while (i < 2*n)
{
if (i <= n) std::cout << i << " ";
else std::cout << N-- << " ";
i++;
}
return 0;
}
int main()
{
foo(5);// 这里是不用循环的,是递归调用的一个特点
std::cout << std::endl;
Nprint(6);
std::cout << std::endl;
return 0;
}
2018-02-04 17:28
2018-02-04 19:53
2018-02-04 19:54
2018-02-04 19:57
2018-02-04 20:39
2018-02-04 21:41


2018-02-04 22:35
程序代码:int main()
{
int i = 0;
std::cin >> i;
foo(i);
std::cout << std::endl;
int n = 0;
std:: cin >> n;
Nprint(n);
std::cout << std::endl;
return 0;
}
2018-02-04 23:20