C语言,如何编程输入一行字符,输出其中字母的个数?

如题所述

#include<stdio.h
int main() 
{    
    char c;
    int result = 0;
    
    while(scanf("%c",&c))
    {
                    if(c=='\n')//输入用换行符结束 
                               break;
                    if(isalpha(c))//判断是否为字母字符 
                    {
                                  result++;
                    }
    }
    printf("%d",result); 
}

这个是统计字符串中字母的个数

追问

输入的字符呢?可以随意换?

例如输入“Et2f5F218”

输出结果为4..../我会套

追答

那就好,呵呵,加油!

追问

C语言大神嘛???

教教我C语言。。。啥都不会

追答

有问题可以问我,有时间肯定帮忙的,呵呵

追问

咦。那方便留企鹅嘛。。。

追答

597946113

追问

你不怕我是坏人啊,啊

追答

QQ又不能干什么

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-10-29
#include<stdio.h>
int letter,dight,space,others;
int main()
{
void statistic(char []);
char str[80];
printf("请输入一串字符:\n");
gets(str);
printf("str:");
puts(str);
letter=0;
dight=0;
space=0;
others=0;5

statistic(str);
printf("\nletter=%d\ndight=%d\nspace=%d\nothers=%d\n",letter,dight,space,others);
return 0;
}
void statistic(char str[])
{
int i;
for(i=0;str[i]!='\0';i++)
if(str[i]>='a'&&str[i]<='z'||str[i]>='A'&&str[i]<='Z')
letter++;
else if(str[i]>='1'&&str[i]<='9')
dight++;
else if(str[i]==32)
space++;
else
others++;
}追问

那么长啊。大神。

第2个回答  2013-10-29
你要用到length,获取字符串长度。追问

例如输入“Et2f5F218”

输出结果为4

第3个回答  2018-11-08
#include <stdio.h>
#include <string.h>
#include <stdbool.h>
int main(int argc, const char * argv[])
{
char str[100];// 存储输入的字符串
printf("请输入一个随机字符串:\n");
scanf("%s", str);
char strTemp[100];// 存储字符串中的字符
int countTemp[100];// 存储对应字符的数量
int index = 0;// 当前要存储的字符索引
for (int i = 0; i<strlen(str); i++) {// 循环遍历字符串
// 赋值前,先去找有没有出现的字符
bool isHas = false;
for (int j = 0; j<strlen(strTemp); j++) {
if (strTemp[j] == str[i]) {// 如果找到,就将对应位置的数字加1
countTemp[j]++;
isHas = true;
}
}
if (!isHas) {
strTemp[index] = str[i];
countTemp[index] = 1;
index++;
}
}
printf("输出:\n");
for (int i = 0; i<strlen(strTemp); i++) {// 循环遍历输出结果
printf("%c 出现过 %d 次\n", strTemp[i], countTemp[i]);
}
return 0;
}
第4个回答  2013-10-29
#include<stdio.h>
int letter,dight,space,others;
int main()
{
void statistic(char []);
char str[80];
printf("请输入一串字符:\n");
gets(str);
printf("str:");
puts(str);
letter=0;
dight=0;
space=0;
others=0;5

statistic(str);
printf("\nletter=%d\ndight=%d\nspace=%d\nothers=%d\n",letter,dight,space,others);
return 0;
}
void statistic(char str[])
{
int i;
for(i=0;str[i]!='\0';i++)
if(str[i]>='a'&&str[i]<='z'||str[i]>='A'&&str[i]<='Z')
letter++;
else if(str[i]>='1'&&str[i]<='9')
dight++;
else if(str[i]==32)
space++;
else
others++;
}追问

那么长啊。大神。

第5个回答  2013-10-29
你要用到length,获取字符串长度。追问

例如输入“Et2f5F218”

输出结果为4

第6个回答  2018-11-08
#include <stdio.h>
#include <string.h>
#include <stdbool.h>
int main(int argc, const char * argv[])
{
char str[100];// 存储输入的字符串
printf("请输入一个随机字符串:\n");
scanf("%s", str);
char strTemp[100];// 存储字符串中的字符
int countTemp[100];// 存储对应字符的数量
int index = 0;// 当前要存储的字符索引
for (int i = 0; i<strlen(str); i++) {// 循环遍历字符串
// 赋值前,先去找有没有出现的字符
bool isHas = false;
for (int j = 0; j<strlen(strTemp); j++) {
if (strTemp[j] == str[i]) {// 如果找到,就将对应位置的数字加1
countTemp[j]++;
isHas = true;
}
}
if (!isHas) {
strTemp[index] = str[i];
countTemp[index] = 1;
index++;
}
}
printf("输出:\n");
for (int i = 0; i<strlen(strTemp); i++) {// 循环遍历输出结果
printf("%c 出现过 %d 次\n", strTemp[i], countTemp[i]);
}
return 0;
}
相似回答
大家正在搜