原题链接:[编程入门]自定义函数之字符类型统计
方法区别:
第一种:输出在自定义函数中
第二种:输出在主函数中
注意事项:
使用scanf函数输入时,不能用 "%s" ,因为输入空格后输出只会显示空格之前的内容,所以要用 "%[^\n]" ,表示除了回车键全部读入
参考代码:
第一种方法(输出在自定义函数中):
#include <stdio.h>
#include <string.h>
void str_count(char *s)
{
int letter = 0, digit = 0, space = 0, other = 0;
for (int i = 0; i < strlen(s); i++)
{
if (s[i] >= 'a' && s[i] <= 'z' || s[i] >= 'A' && s[i] <= 'Z')
letter++;
else if (s[i] >= '0' && s[i] <= '9')
digit++;
else if (s[i] == ' ')
space++;
else
other++;
}
printf("%d %d %d %d", letter, digit, space, other);
}
int main()
{
char s[100];
gets(s);
str_count(s);
return 0;
}第二种方法(输出在主函数中):
#include <stdio.h>
#include <string.h>
void str_count(char *s, char *a)
{
for (int i = 0; i < strlen(s); i++)
{
if (s[i] >= 'a' && s[i] <= 'z' || s[i] >= 'A' && s[i] <= 'Z')
a[0]++;
else if (s[i] >= '0' && s[i] <= '9')
a[1]++;
else if (s[i] == ' ')
a[2]++;
else
a[3]++;
}
}
int main()
{
char s[100], a[4];
scanf("%[^\n]", &s); // 除了回车键全部读入
// gets(s);
str_count(s, a);
for (int i = 0; i < sizeof(a); i++)
{
printf("%d", a[i]);
if (i != sizeof(a) - 1)
{
printf(" ");
}
}
return 0;
}0.0分
0 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复