[求助]统计字符数字空格和其它字符个数
问题描述一行字符中有字符、数字、空格及其它字符。你的任务是统计这一行字符串中字符、数字、空格和其它字符的个数。
输入
输入文件有若干行,每一行上若干个字符组成的字符串。
输出
输出文件有若干行。对输入文件中的每一行字符串,在一行上输出字符、数字、空格和其它字符的个数之间空一个空格。
输入样例
123fe*&54 0934j
df *AS
输出样例
3 9 1 2
4 0 1 1
我的程序是:
#include "stdio.h"
#include<fstream.h>
ifstream fin("input.txt");
ofstream fout("output.txt");
#define cin fin
#define cout fout
void main()
{
char* c=new char;
int chr,num,blank,othr,i;
while(cin>>c)
{
chr=0;
num=0;
blank=0;
othr=0;
while(c[i]!='\n')
{
if((c[i]>='A' && c[i]<='Z')||(c[i]>='a' && c[i]<='z'))
chr++;
else if(c[i]>='0' && c[i]<='9')
num++;
else if(c[i]==' ')
blank++;
else
othr++;
i++;
}
cout<<chr<<" "<<num<<" "<<blank<<" "<<othr<<endl;
}
delete c;
}
编译通过,但运行出错,请问错在何处?谢谢!