哪位大侠能帮我编段程序,从键盘输入多个字符,统计小写字符的个数,只是算字母个数。

来源:百度知道 编辑:UC知道 时间:2024/06/03 14:34:56
我的这个怎么不行
#include<iostream.h>
void main()
{
char sh;
int sum=0;
while(true)
{
cin>>sh;
if(sh=='\n')break;
if(sh>='a'&&sh<='z')sum++;
}
cout<<"sum="<<sum<<endl;
}
为啥用\n不行捏?

#include<stdio.h>
#include<string.h>
#include<iostream.h>

void main()
{
char sh[100];
int i,l,sum=0;

gets(sh);
l = strlen(sh);
for (i=0;i<l;i++)
{
if((int) sh[i]>='a' && (int) sh[i]<='z')sum++;
}
cout<<"sum="<<sum<<endl;
}

--------------------------------

cin 是类,输入 运算符 >> 运作复杂,回车换行ESC 等键有特殊用途,不能控制行输入。
上面用C 语言的 gets(sh); 它可以自动读到行尾并跳出。

用'\0'代替'\n'

'\n'表示换行,'\0'表示结束(好像是这样)

'\n'是回车符,已经用作控台的输入结果标志,
所以在while中不能再使用来判断break跳出

---------------------------------

直接用函数

原型:extern int islower(int c);

用法:#include <ctype.h>

功能:判断字符c是否为小写英文字母

说明:当c为小写英文字母(a-z)时,返回非零值,否则返回零。

举例:

// islower.c

#i