解题思路:第一步先用gets函数来输入字符串保证空格计数,yongfor循环语句来实现统计个数,分别用if语句来分别求出个数

注意事项:scanf函数不能识别空格

参考代码:

#include<stdio.h>

#include<string.h>

#include<math.h>

#define N 200 

int main()

   char a[N];

   int i,n,m=0,num=0,s=0,j=0;

  gets(a);

   n=strlen(a);

   for(i=0;a[i]!='\0';i++)

   {

      if(a[i]>='A'&&a[i]<='Z'||a[i]>='a'&&a[i]<='z')

   num++;

      else if(a[i]>='0'&&a[i]<='9')

   m++;

   else if(a[i]==' ')

   j++;

      else

      s++;

}

printf("%d %d %d %d",num,m,j,s);

  return 0;

 } 


点赞(0)
 

0.0分

1 人评分

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

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

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

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

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

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

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

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

评论列表 共有 1 条评论

一文 3年前 回复TA
#include<stdio.h>
#include<string.h>
#include<math.h>
#define N 200
int main()
{
	char a[N];
	int i,n,m=0,num=0,s=0,j=0;
	gets(a);
	n=strlen(a);
	for(i=0;a[i]!='\0';i++)
	{
		if(a[i]>='A'&&a[i]<='Z'||a[i]>='a'&&a[i]<='z')
			num++;
		else if(a[i]>='0'&&a[i]<='9')
			m++;
		else if(a[i]=='')
			j++;
		else
			s++;
	}
	printf("%d %d %d %d",num,m,j,s);
	return 0;
}
大佬们,请问下我这哪儿错了?