菊馨 - 2005-11-16 11:33:00



本人是C++的初学者,刚上机发现有些不懂,上来求助各位高手。
题目如下:
输入一个字符串,设其长度不超过30,试统计该字符串中所有的十进制数字字符的个数
我对题目的理解是,该字符串的长度是任定的只要不超过30就可以了。例:输入3个字符(ac1)后输入回车程序就计算结果(1)。
故编写程序如下
#include<iostream>
using namespace std;
int main()
{
char a[30];
int i,n=0,j=1;
for(i=0;i<30;i++)
{
cin>>a
;
if(a=='\r') break;
if('0'<=a&&'9'>=a)
n++;
}
cout<<n<<endl;
return 0;
}
但结果是一定要输入30个字符才行.
请教各位老大,要怎么编写才行呢?谢谢!
haste - 2005-11-16 14:04:00
cin输入后要输入到数组中呀.
楼主定义的数组长度也不够30呀,
判断输入是否是数字的时候最好用ASCII来进行判断~!
haste - 2005-11-16 14:05:00
菊馨 - 2005-11-16 16:24:00
刚问了老师,原来CIN不能判断回车。还有为什么用ASCII码好,怎样用啊,请指教,谢谢!
还有,想大家对我这一个C++初学者提点建议吧,例如看些什么书,谢谢啦~!
haste - 2005-11-17 8:09:00

偶也是初学者,
下面是偶早上写的,没调适,没修改.
请楼主参考一下吧!
还有学C++要看大量的书,当你明白了老师讲的东东后,
再深入的看一些课外的书.
如果有好书请推荐给偶,
因为偶也是刚学不久,多多交流!

附件:
2823962005111780908.jpg
haste - 2005-11-17 8:10:00
说明一下,
没输完的时候中途退出,请按"q"键!
每输入一个字体后,按一下回车可以呀!
© 2000 - 2026 Rising Corp. Ltd.