21xrx.com
2024-12-22 19:11:32 Sunday
登录
文章检索 我的文章 写文章
C++程序:输出100到1000的回文数
2023-07-04 18:16:27 深夜i     --     --
C++ 回文数 100 1000 输出

回文数是指正反两种顺序读都相同的整数。例如,121、41614都是回文数。你是否想过如何找出一定范围内的回文数?下面我们来分享一下使用C++程序输出100到1000之间所有回文数的方法。

首先我们需要明确,通过程序判断是否为回文数,需要将数字转换为字符串,然后进行比较。为了实现这个功能,我们可以借助C++中的stringstream类来实现数字和字符串的转换。头文件如下:


#include <iostream>

#include <sstream>

#include <string>

using namespace std;

接下来,我们需要建立一个函数来判断整数是否为回文数:


bool isPalindrome(int num) {

  stringstream ss;

  string str;

  ss << num; //将数字转换为字符串

  ss >> str;

  int len = str.length();

  for(int i = 0; i < len / 2; i++) {

    if(str[i] != str[len - i - 1]) 说明不是回文数

    

  }

  return true;

}

代码中,我们通过stringstream将整数转换为字符串,并通过循环判断字符串的前半部分和后半部分是否相等,来判断是否为回文数。如果有一个字符不相等,就说明不是回文数,返回false;如果都相等,则是回文数,返回true。

最后,我们来实现输出100到1000之间所有的回文数:


int main() {

  for(int i = 100; i <= 1000; i++) { //循环100到1000之间的整数

    if(isPalindrome(i)) //调用isPalindrome函数判断是否为回文数

      cout << i << endl; //输出回文数

    

  }

  return 0;

}

通过循环遍历100到1000之间的整数,调用isPalindrome函数判断是否为回文数,如果是则输出该数。运行程序后,我们可以得到输出结果:


101

111

121

131

141

151

161

171

181

191

202

212

222

232

242

252

262

272

282

292

303

313

323

333

343

353

363

373

383

393

404

414

424

434

444

454

464

474

484

494

505

515

525

535

545

555

565

575

585

595

606

616

626

636

646

656

666

676

686

696

707

717

727

737

747

757

767

777

787

797

808

818

828

838

848

858

868

878

888

898

909

919

929

939

949

959

969

979

989

999

可以看到100到1000之间共有105个回文数。这里只是一个简单的示例,借助C++程序输出回文数是非常有趣的,同时我们也可以将这个方法进行扩展,输出更多范围内的回文数。

  
  

评论区

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