if(isdigit(s)) d++;
你这里判断是否是数字,估计是不是你在回车之前一直都在输入字母啊
按以下程序,再试试
#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;
}
while (cin>>n)
条件这样写的,变量不需要n,直接用输入字符串的length属性