c语言中输入一个字符串,统计其中字母的的个数,并且把其中的字母输出来。 请问如何把其中的字母都输出来

如题所述

第1个回答  2013-03-31
在ANSI C库中有这样一个库
ctype.h
这个库中有一个函数
isalpha

int isalpha(char c)
如果c是一个字母,返回非0,如果不是,返回0
这样就好做了吧
第2个回答  推荐于2017-09-25
main()
{
char str[30],i,count=0;
for(i=0;i<strlen(str);i++)
{
if(str[i]>='a'&&str[i]<='z')
{
count++;
putchar(str[i]);
}
}
printf("%d",count);
}追问

我的程序没有错误,可是输出的字母个数的结果是错误的。请问该如何修改?    谢谢!

追答

建议你下次提问的代码不要用截图,这样不方便我调试你的程序。

你的错误原因是if()条件对两条语句 {}

本回答被提问者和网友采纳
第3个回答  2013-03-31
#include<stdio.h>
#include<stdlib.h>
#include<string>
void main()
{
char a[100];
int i,n,m;
while((scanf("%s",&a))==EOF)
;
n=strlen(a);
m=0;
for(i=0;i<=n;i++)
{
if((a[i]>='a'&&a[i]<='z')||(a[i]>='A'&&a[i]<='Z'))
{
printf("%c",a[i]);
m++;
}
}
printf("\n字符个数为%d",m);
system("pause");
}来自:求助得到的回答
第3个回答  2013-03-31
同意1楼
不过有一点严重纠正:
字符串记录位置是从0开始
所以读入一个长为n的字符串
它的起始是str[0]
末尾是str[n-1]
个人意见
仅供参考
跪求采纳
相似回答