解题思路:
两种方法
注意事项:
传递实参时要传递指针
形参的设置是指针
参考代码:
#include <stdio.h>
#include <stdlib.h>
#include<string.h>
#include<math.h>
void count(char *m,int *a,int* b,int* c,int* d);
int main()
{
char ch;
int word=0,figure=0,space=0,other=0;
while ((ch=getchar())!='\n')
{
if((ch>='a'&&ch<='z')||(ch>='A'&&ch<='Z'))
{
word++;
}
else if(ch>='0'&&ch<='9')
{
figure++;
}
else if(ch==' ')
{
space++;
}
else
{
other++;
}
}
printf("%d %d %d %d",word,figure,space,other);
return 0;
}
#include <stdio.h>
#include <stdlib.h>
#include<string.h>
#include<math.h>
void count(char *m,int *a,int* b,int* c,int* d);
int main()
{
char a[1000];
int word=0,figure=0,space=0,other=0;
gets(a);
count(a,&word,&figure,&space,&other); //传入指针
}
void count(char *m,int *a,int* b,int* c,int* d) //形参的设置是指针
{
int i=0;
while(m[i]!='\0')
{
if((m[i]>='a'&&m[i]<='z')||(m[i]>='A'&&m[i]<='Z'))
{
(*a)++;
}
else if(m[i]>='0'&&m[i]<='9')
{
(*b)++;
}
else if(m[i]==' ')
{
(*c)++;
}
else
{
(*d)++;
}
i++;
}
printf("%d %d %d %d",*a,*b,*c,*d);
}
0.0分
0 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复