问题:
给你一个整数n. 从 1 到 n 按照下面的规则打印每个数:
- 如果这个数被3整除,打印
fizz
. - 如果这个数被5整除,打印
buzz
. - 如果这个数能同时被
3
和5
整除,打印fizz buzz
.
一开始看到这个问题以为很简单但做起来却发现自己错误百出主要要注意的是if else语句中的关系
vector<string> fizzBuzz(int n) {
// write your code here
int i;
vector<string> a(n);
for(i = 1;i <= n;i++)
{
if(i % 3 == 0)
{
if(i % 5 == 0)
{
a[i - 1] = "fizz buzz";
}
else
{
a[i - 1] = "fizz";
}
}
else if(i % 5 == 0)
{
a[i - 1] = "buzz";
}
else
{
ostringstream os;
os << i;
string b = os.str();
a[i - 1] = b;
}
}
return a;
}