解题思路:自定义函数中分别统计题目的四种字符个数,在主函数中输出

注意事项:重点是结果要在主函数输出,所以我们有以下三种思路

法一:我们设置4个全局变量分别用来统计4种不同字符的个数,由于是全局变量,所以在自定义函数中变量发生改变,其改变变量值会保存,所以主函数直接输出即可,避免了自定义函数设置多参数去统计。

法二主函数中定义4个变量分别用来统计4种不同字符的个数,需要在自定义函数中多加4个参数,并且需要传变量地址,涉及指针,较为麻烦(不建议写这个,如果想加深自己指针的能力,可以自己尝试编写)。

法三:主函数中定义一个整型含有4个元素的数组,初值为0,传数组名,在自定义函数中分别去统计,由于传的地址,形参的改变会直接影响实参,之后主函数中输出数组所有元素值即可。

这里我们主要介绍法一,对其它方法感兴趣的同学可以自行编写,提交
参考代码:

#include<stdio.h>
int e=0,b=0,c=0,d=0;
void Statistics(char a[100]); 
int main()
{
char a[100];
gets(a);
Statistics(a);
printf("%d %d %d %d\n",e,b,c,d);
return 0;
}
void Statistics(char a[100])
{
int i;
for(i=0;a[i]!='\0';i++)
{
if('a'<=a[i]&&a[i]<='z'||'A'<=a[i]&&a[i]<='Z')
e++;
else if('0'<=a[i]&&a[i]<='9')
b++;
else if(a[i]==' ')
c++;
else
d++;
}
}

有其它想法的同学欢迎交流

点赞(0)
 

0.0分

17 人评分

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

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

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

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

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

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

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

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

评论列表 共有 12 条评论

zqz 3年前 回复TA
@谭爱笑 if条件有问题,z,A,Z,属于字母,&#039;9&#039;属于汉字,你程序跑出来正确那是因为只是题目给你用来验证程序的数据符合你的程序,然而提交后台是有多组数据进行检测的,所以实际你的程序是有漏洞的,加油,努力变强!
谭爱笑 3年前 回复TA
#include<stdio.h>
#include<string.h>
int main()
{
     char  ch[100];
     int x,i,a=0,b=0,c=0,d=0;
	 gets(ch);
	 x=strlen(ch);
	 for(i=0;i<x;i++)
	 {
	 	if((ch[i]>='a'&&ch[i]<'z')||(ch[i]>'A'&&ch[i]<'Z'))
	 	a++;
	 	else if(ch[i]>='0'&&ch[i]<'9')
	 	b++;
	 	else if(ch[i]==' ')
	 	c++;
	 	else
		d++;
	 }
	 printf("%d %d %d %d\n",a,b,c,d);
	 return 0;
}

    为什么我提交答案错误,但是  debug跑出来是对的