C语言,如何编程输入一行字符,输出其中字母的个数?
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++;
}
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++;
}
追问
那么长啊。大神。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你要用到length,获取字符串长度。
追问
例如输入“Et2f5F218”
输出结果为4
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#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;
}
#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;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询