自学C++的小弟向大虾们请教!

来源:百度知道 编辑:UC知道 时间:2024/05/05 15:55:13
include <iostream>
using namespace std;
void main()
{
char a=0;
int i=0,j=0,k=0,l=0;
while(a!='\n')
{
cin>>a;
if(a>='a'&&a<='z'||a>='A'&&a<='Z')
i++;
else if(a==' ')
j++;
else if(a>='0'&&a<='9')
k++;
else
l++;
}
cout<<"字母个数为"<<i<<endl;
cout<<"空格个数为"<<j<<endl;
cout<<"数字个数为"<<k<<endl;
cout<<"其他个数为"<<l<<endl;
cin>>a;

}为什么没得到想要的结果呢?

我用C语言给你写了一个,经过编译、运行,完全正确。
#include <stdio.h>
void main()
{
char c;
int letter=0, num=0, blank=0, other=0;

printf("请输入一组字符:\n");

while(scanf("%c", &c))
{
if (c == '\n')
break;
if (c ==' ')
blank++;
else
if (c>='A' && c<='z')
letter++;
else
if (c>='0' && c<='9')
num++;
else
other++;
}

printf("字母个数=%d\n", letter);
printf("数字个数=%d\n", num);
printf("空格个数=%d\n", blank);
printf("其它字符个数=%d\n", other);
}

你定义的a是个字符型.的.就没法接收一串字符串了呀.
给你个参考吧.
http://delos.csai.cn/user1/22143/archives/2006/200612171432.html<