21xrx.com
2024-11-25 00:20:28 Monday
登录
文章检索 我的文章 写文章
C++中的报数问题
2023-07-12 06:12:38 深夜i     --     --
C++ 报数 递推 循环 算法

C++中的报数问题是一种经典的问题,它考察了程序员的逻辑思维和编程能力。其本质是一个循环数数的游戏,每个人按照顺序报一个数字,但是当数字是3的倍数或者包含数字3时,需要报“Fizz”,当数字是5的倍数或者包含数字5时,需要报“Buzz”,当数字既是3的倍数又是5的倍数时,需要报“FizzBuzz”。

要解决这个问题,我们可以使用循环语句和条件判断语句。首先,我们需要用一个循环语句来控制报数的过程,这里我们选择使用for循环,控制次数为100次:

for(int i=1;i<=100;i++)

接下来,我们需要对每个数字进行判断:

if(i%3==0&&i%5==0) // 既是3的倍数又是5的倍数

  cout<<"FizzBuzz"<

else if(i%3==0||toString(i).find('3')!=string::npos) // 3的倍数或包含数字3

  cout<<"Fizz"<

else if(i%5==0||toString(i).find('5')!=string::npos) // 5的倍数或包含数字5

  cout<<"Buzz"<

else // 数字既不是3的倍数也不是5的倍数,也不包含数字3或5

  cout<<

其中,我们使用了一个toString()函数将数字转换成字符串,并使用find()函数判断字符串中是否包含某个字符。

通过以上代码,我们就可以很好地解决C++中的报数问题。当然,这只是一个简单的实现方式,还有很多优化和扩展的空间,例如可以使用switch语句代替if语句,增加错误处理等等。但是,无论如何,这个问题都是一个不错的练习题目,可以帮助我们提高编程能力和解决问题的能力。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复