我怀疑这种模式与斐波纳契有关,但我很难将其联系起来。
我只能使用递归。
我认为代码有点像这样。
#include <iostream>
#include <conio.h>
using namespace std;
int pattern(int number)
{
if(number % 3 == 1)
{
cout << "--|^++" << endl;
return number - 1;
}
else
{
return pattern(number - 1);
}
}
int main()
{
int number,newNumber;
cout << "Please give the number to print" << endl;
cin >> number;
newNumber = number * 2;
pattern(newNumber);
getch();
}
在这种模式中,我注意到每个奇数都有一个 “ - | ^ ++”。
对于2和6,存在&lt;&lt; “ - || ^ ++”&lt;&lt; ENDL;
数字是5
--|^++
-||^+++
--|^++
|||^^+++++
--|^++
-||^+++
|||||^^^++++++++
这已经过了我的下午,我需要建议或书。
我需要这种模式或代码的解决方案,“%”和“/”之间的区别以及错误检查。
答案 0 :(得分:1)
else分支永远不会被视为你的第二个if条件总是如此:
else if(condition == 2,6)
逗号是序列运算符,它将从左到右运行所有子表达式,并且它的值是最右边的子表达式。
实际上,该线大致相当于
condition == 2;
if (6)
如果值不为零,则认为if条件为真,因此,此处始终为真。
如果您打算测试condition
是2还是6,那么您必须明确:
else if (condition == 2 || condition == 6)
答案 1 :(得分:0)
对不起,我不明白你的问题。但是你的“模式”功能存在一些问题
else if(condition == 2,6)
- 永远是真的;如上所述
if(condition % 1)
- 永远都是假的;因为任何整数总是可以被1整除,所以它等于if(0)
该函数不会在所有代码路径上返回;如果块应该有一个返回语句