-2

尝试用 C++ 编写 fizzbuzz,但在控制台打印整数列表之前,它会打印每个字符串 "Fizzbuzz、"fizz"、"buzz"

样本输出:

   嘶嘶声
   嘶嘶声
   嗡嗡声
   1
   2
   嘶嘶声
   4

代码:

#include <iostream>
using namespace std;

int main(int argc, const char * argv[]) {

    int i;
    for (i = 0; i <=100; i++) {
        if((i % 15) == 0)
                cout << "Fizzbuzz" << endl;
        if((i % 3) == 0)
                cout << "Fizz"<< endl;
        if((i % 5) == 0)
                    cout << "Buzz" << endl;
        else
            cout << i <<endl;
    }


}
4

1 回答 1

2

当检查多个条件时,只应采用一个分支,您需要else if在第一个 s 之后使用 s if。然后,将采用满足条件的第一个分支:

    if((i % 15) == 0)
        cout << "Fizzbuzz" << endl;
    else if((i % 3) == 0)
        cout << "Fizz"<< endl;
    else if((i % 5) == 0)
        cout << "Buzz" << endl;
    else
        cout << i <<endl;

在您的代码中,每个条件都会被检查,并且每个分支都会被满足条件。如果未采用最后一个else,则将采用您代码中的案例,即它仅属于最后一个。使用 时,如果不满足任何条件,则采用分支。 ififelse ifelse

于 2015-01-29T08:22:34.900 回答