点赞(0)
 

0.0分

60 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 30 条评论

liushuichan 2年前 回复TA
#include <stdio.h>
int main()
{
	int letter = 0, number = 0, kongge = 0, other = 0;
	char ch = 0;
	while (ch != '\n')
	{
		ch = getchar();
		if (ch >= 'a' && ch <= 'z' || ch >= 'A' && ch <= 'Z')  letter++;
		else if (ch >= '0' && ch <= '9') number++;
		else if (ch == ' ')  kongge++;
		else other++;
	}
	printf("%d %d %d %d ", letter, number, kongge, other);
	return 0;
}
李泳霖 2年前 回复TA
#include<stdio.h>
int main()
{
	char x[200];
	int i;
	int a[4]={0};
	gets(x);
	int len=strlen(x);
	
	for(i=0;i<len;i++)
	{
	    
	    if((x[i]>='A'&&x[i]<='Z')||(x[i]>='a'&&x[i]<='z'))
	    a[0]++;
	    else if(x[i]>='0'&&x[i]<='9')
	    a[1]++;
	    else if(x[i]==' ')
	    a[2]++;
	    else 
	    a[3]++;
	}
	for(i=0;i<4;i++)
	printf("%d ",a[i]);
	return 0;
}
一梦浮生 2年前 回复TA
@逸楚庄 用scanf读取字符串有问题,scanf遇到空格就不会读取了,应该用gets函数
逸楚庄 2年前 回复TA
#include<stdio.h>
#include<string.h>
int main()
{
char a[200];
	int i,b=0,c=0,d=0,e=0;
	scanf("%s",&a);
	for(i=0;a[i]<=strlen(a);i++)
	{
		if((a[i]<=90&&a[i]>=65)||(a[i]>=97&&a[i]<=122))
		b++;
		else if(a[i]<=57&&a[i]>=48)
		c++;
		else if(a[i]==32)
		d++;
		else
		e++;
	}
	printf("%d %d %d %d",b,c,d,e);
	return 0;
}
提刀只为她 2年前 回复TA
思路差不多
2年前 回复TA
@杨 我真的是胡写的,越写越麻烦,我是小白,我是小白。。。
208220404 2年前 回复TA
#include<stdio.h>
main()
{
    char str[100];
    int i,letter=0,number=0,space=0,other=0;
    gets(str);
    for(i=0;i<strlen(str);i++)
    {
        if(str[i]>='a'&&str[i]<='z'||str[i]>='A'&&str[i]<='Z')
            letter++;
        else if(str[i]>='0'&&str[i]<='9')
            number++;
        else if(str[i]==' ')
            space++;
        else
            other++;
    }
    printf("%d %d %d %d",letter,number,space,other);
    return 0;
}
江雪沉月 2年前 回复TA
@杨 因为他在for循环条件里使用的是i<=a,但是数组初始定义是从i=0开始的,所以这样遍历的长度就多了一位,所以最后减了一,如果把循环改成i<a就不用减了
L 2年前 回复TA
@杨 为什么b要减一
2年前 回复TA
#include<string.h>
int main()
{
	int a = 0;
	int j = 0;
	int k = 0;
	int m = 0;
	int b = 0;
	int i = 0;
	char arr[200]={};
	gets(arr);
	//scanf("%s", &arr);scanf竟然不能输入空格
	a = strlen(arr);
	for (i = 0; i <= a; i++)
	{
		int n = arr[i];
		if (n > 64 && n < 91)
			j++;
		else if (n > 96 && n < 123)
			j++;
		else if (n >=48 && n <=57)
			k++;
		else if (n == 32)
			m++;
		else
			b++;
	}
	printf("%d %d %d %d", j, k, m, b-1);

	return 0;
}