【问题标题】:Count how many even or odd numbers there in the program in C++用 C++ 计算程序中有多少偶数或奇数
【发布时间】:2018-02-22 16:41:06
【问题描述】:

程序要求用户输入数字,直到数字总数大于 30。此外,用户必须计算有多少是偶数,有多少是奇数。 我可以解决问题的第一部分,但计数部分有问题。

总数为 0
请输入整数:20
总数为 20
你有 1 个偶数和 0 个奇数。

#include <iostream>
#include <string>
using namespace std;
int main (){
   int integer;
   int total = 20;
   int even_count = 0;
   int odd_count = 0;
   cout << "Total is 0" << endl;
   cout << "Please enter an integer: ";
   cin >> integer;
   cout << integer << endl;
   while ( total <= 30){
      cout << "Total is " << total << endl;
      cout << "Please enter an integer: ";
      cin >> integer;
      cout << integer << endl;
      total = integer + total;  
   }
   if (integer % 2 == 0) {
         even_count = even_count + 1;
      }
   if (integer % 2 != 0){
         odd_count = odd_count + 1;
      }
   cout << "You had " << even_count << " even numbers and "; 
   cout << odd_count << " odd numbers.";
   cout << endl;
   return 0;
}

【问题讨论】:

  • 有什么问题吗?你的示例输出很好,不是吗?
  • 您每次都在测试整数,而不是在所有输入都消失之后,对吧?
  • 你将total初始化为20,然后打印“Total is 0”,也许这就是你需要解决的所有问题?
  • 再次阅读您的代码并密切注意循环内部的部分和外部的部分。
  • 另外,尝试输入一个不是20 的数字,例如5

标签: c++ if-statement while-loop


【解决方案1】:

这段代码应该可以工作:

#include <iostream>
#include <string>
using namespace std;
int main (){
   int integer=0;
   int total = 0;
   int even_count = 0;
   int odd_count = 0;
   cout << "Total is " << total << endl;
   while ( total <=30 && integer <=30){
      cout << "Please enter an integer: ";
      cin >> integer;
      total = integer + total;  
      if(total <=30){
        cout << "Total is " << total << endl;
      }
      if (integer % 2 == 0) {
        even_count = even_count + 1;
      }
      if (integer % 2 == 1){
        odd_count = odd_count + 1;
      }
   }   
   cout << "You had " << even_count << " even numbers and " << odd_count << 
" odd numbers." << endl;   
}

这是一个示例输出: Total is 0 Please enter an integer: 25 Total is 25 Please enter an integer: 5 Total is 30 Please enter an integer: 1 You had 0 even numbers and 3 odd numbers.

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-04
    • 2021-11-04
    • 1970-01-01
    • 1970-01-01
    • 2021-03-14
    相关资源
    最近更新 更多