解题思路:
两种方法
注意事项:
传递实参时要传递指针
形参的设置是指针
参考代码:
#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语言代码)浏览:1149 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:669 |
不会做的浏览:954 |
C语言考试练习题_排列 (C语言代码)浏览:767 |
2003年秋浙江省计算机等级考试二级C 编程题(2) (C语言代码)浏览:793 |
程序员的表白 (C语言代码)浏览:706 |
C语言程序设计教程(第三版)课后习题1.5 (C++代码)浏览:1114 |
wu-淘淘的名单 (C++代码)浏览:1532 |
简单的a+b (C语言代码)浏览:626 |
淘淘的名单 (C语言代码)浏览:1309 |