21xrx.com
2024-06-03 06:41:24 Monday
登录
文章检索 我的文章 写文章
C++实现正整数各位数之和等于该整数的输入输出
2023-07-05 21:47:18 深夜i     --     --
C++ 整数 各位数之和 输入 输出

在C++中实现正整数各位数之和等于该整数的输入输出,可以使用循环语句以及函数。具体实现步骤如下:

首先,需要编写一个函数来判断一个数是否符合条件,即该数各位数之和等于该数本身。函数的代码如下:


bool isSumEqual(int n){

  int sum = 0;

  int temp = n;

  while(temp > 0){

    sum += temp % 10;

    temp /= 10;

  }

  return sum == n;

}

该函数先定义一个变量sum,用来存储n的各位数之和。然后通过while循环不断取出n的各个数位并累加到sum上,最后判断sum是否等于n,如果等于则返回true,否则返回false。

接下来,可以编写主函数,在主函数中通过循环从键盘上不断读入正整数,并判断其是否符合条件,如果符合条件则输出该数。代码如下:


#include <iostream>

using namespace std;

bool isSumEqual(int n){

  int sum = 0;

  int temp = n;

  while(temp > 0){

    sum += temp % 10;

    temp /= 10;

  }

  return sum == n;

}

int main()

{

  int n;

  cout << "请输入正整数:" << endl;

  cin >> n;

  if(isSumEqual(n))

    cout << n << endl;

  

  else

    cout << "不符合条件!" << endl;

  

  return 0;

}

以上代码只能读入一个正整数并进行判断,如果需要读入多个正整数并进行判断,可以在主函数中使用while循环,不断读入并进行判断。代码如下:


#include <iostream>

using namespace std;

bool isSumEqual(int n){

  int sum = 0;

  int temp = n;

  while(temp > 0){

    sum += temp % 10;

    temp /= 10;

  }

  return sum == n;

}

int main()

{

  int n;

  cout << "请输入多个正整数,用空格隔开:" << endl;

  while(cin >> n){

    if(isSumEqual(n))

      cout << n << endl;

    

  }

  return 0;

}

通过以上写法,可以实现读入多个正整数并进行判断,并且如果符合条件会输出该数。因此,这是一个比较便利且实用的代码写法。

总之,通过以上的介绍,大家已经了解到了在C++中实现正整数各位数之和等于该整数的输入输出的方法。对于初学者来说,可以通过这个方法加深对C++的掌握和理解。

  
  

评论区

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