c++一个判断字符串有几个数字的程序,为什么一输入n就输出0?

2024-12-14 01:00:59
推荐回答(3个)
回答1:

if(isdigit(s)) d++;
你这里判断是否是数字,估计是不是你在回车之前一直都在输入字母啊

回答2:

按以下程序,再试试
#include 
#include 
using namespace std;
int main ()
{
    int n,d;
    char s;
    while (cin>>n)
    {
        getchar();//加上这个,滤掉回车!
        for (int i=0;i        {
            cout << "input data: " ; //加个提示
            for (d=0;(s=getchar())!='\n';)
            {
                if(isdigit(s)) d++;
            }
            cout<        }
    }
    return 0;
}

回答3:

while (cin>>n)
条件这样写的,变量不需要n,直接用输入字符串的length属性