21xrx.com
2024-09-20 00:23:57 Friday
登录
文章检索 我的文章 写文章
C++如何判断输入的数字个数?
2023-07-13 03:37:00 深夜i     --     --
C++ 判断 输入 数字 个数

在C++中,编写程序时需要根据用户输入的不同数字个数来更好地进行处理。例如,有时我们需要判断用户输入的数字个数是否符合某些要求,例如输入密码时要求必须包含特定的数字个数。如何判断输入的数字个数呢?

1. 逐个读入数字

一种方法是逐个读入用户输入的字符,判断其是否为数字字符。如果是数字字符,计数器加1,直到读入的字符数量达到了我们所需的数字个数为止。

示例代码:


#include <iostream>

using namespace std;

int main() {

  int count = 0; // 计数器

  int n; // 需要输入的数字个数

  cout << "请输入需要输入的数字个数:" << endl;

  cin >> n;

  cout << "请输入数字: " << endl;

  char ch;

  while (cin >> ch) {

    if (ch >= '0' && ch <= '9') { // 判断是否为数字字符

      count++;

    }

    if (count == n) // 个数达到要求

  }

  if (count == n)

    cout << "输入了" << count << "个数字!" << endl;

   else

    cout << "输入的数字个数不足" << n << "个!" << endl;

  

  return 0;

}

2. 利用字符串长度

另一种方法是通过读入一个带空格的字符串,利用字符串长度来判断数字个数。字符串中所有非数字字符都可以忽略,并将数字字符的个数计入计数器中。最后判断计数器是否等于要求的数字个数即可。

示例代码:


#include <iostream>

using namespace std;

int main() {

  int count = 0; // 计数器

  int n; // 需要输入的数字个数

  cout << "请输入需要输入的数字个数:" << endl;

  cin >> n;

  cout << "请输入数字: " << endl;

  string str;

  cin.ignore(); // 忽略缓存中的换行符

  getline(cin, str); // 读入带空格的字符串

  for (int i = 0; i < str.length() && count < n; i++) {

    if (str[i] >= '0' && str[i] <= '9') { // 判断是否为数字字符

      count++;

    }

  }

  if (count == n)

    cout << "输入了" << count << "个数字!" << endl;

   else

    cout << "输入的数字个数不足" << n << "个!" << endl;

  

  return 0;

}

以上两种方法可以满足大多数情况下对输入数字个数的要求。在实际应用中,也可以根据具体的需求来选择最适合的方法。

  
  

评论区

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