C语言 编写一个函数,由实参传来一个字符串,统计字符串中字母,数字,空格和其他字符的个数,在主函数

C语言编写一个函数,由实参传来一个字符串,统计字符串中字母,数字,空格和其他字符的个数,在主函数中输入字符串以及输出上述的结果。要求1.在程序中使用全局变量2.不用全局变... C语言
编写一个函数,由实参传来一个字符串,统计字符串中字母,数字,空格和其他字符的个数,在主函数中输入字符串以及输出上述的结果。
要求1.在程序中使用全局变量
2.不用全局变量
展开
 我来答
iiiiiiiipl
2019-05-23 · TA获得超过9921个赞
知道答主
回答量:68
采纳率:66%
帮助的人:3.7万
展开全部

#include <stdio.h>

#include <string.h>

int letter,number,blank,other;

void count(char str[])

{

int i;

for(i=0;str[i]!='\0';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]==' ')

blank++;

else

other++;

}

int main()

{

char a[80];

gets(a);

puts(a);

strcat(a,"\0");

letter=0;

number=0;

blank=0;

other=0;

count(a);

printf("\n%5d,%5d,%5d,%5d\n",letter,number,blank,other);  

return 0;

}

扩展资料:

C语言需要说明的是:

1、一个C语言源程序可以由一个或多个源文件组成。 

2、每个源文件可由一个或多个函数组成。

3、一个源程序不论由多少个文件组成,都有一个且只能有一个main函数,即主函数。是整个程序的入口。 

4、源程序中可以有预处理命令(包括include 命令,ifdef、ifndef命令、define命令),预处理命令通常应放在源文件或源程序的最前面。

5、每一个说明,每一个语句都必须以分号结尾。但预处理命令,函数头和花括号“}”之后不能加分号。结构体、联合体、枚举型的声明的“}”后要加“ ;”。

6、标识符,关键字之间必须至少加一个空格以示间隔。若已有明显的间隔符,也可不再加空格来间隔。

参考资料:

百度百科-c语言

匿名用户
2016-05-04
展开全部

1.

#include<stdio.h>

void count(char *str);

int letters=0,space=0,digit=0,others=0;

int main(void)
{
char str[100];
printf("Input a string:\n");
gets(str);
count(str);
printf("char=%d\nspace=%d\ndigit=%d\nothers=%d\n",letters,space,digit,others);
return 0;
}

void count(char *str)
{
while(*str!='\0')
{
if(*str>='a'&&*str<='z'||*str>='A'&&*str<='Z')
letters++;
else if(*str==' ')
space++;
else if(*str>='0'&&*str<='9')
digit++;
else
others++;
str++;
}
}

2.

#include<stdio.h>

void count(char *str);

int main(void)
{
char str[100];
printf("Input a string:\n");
gets(str);
count(str);
return 0;
}

void count(char *str)
{
int letters=0,space=0,digit=0,others=0;
while(*str!='\0')
{
if(*str>='a'&&*str<='z'||*str>='A'&&*str<='Z')
letters++;
else if(*str==' ')
space++;
else if(*str>='0'&&*str<='9')
digit++;
else
others++;
str++;
}
printf("char=%d\nspace=%d\ndigit=%d\nothers=%d\n",letters,space,digit,others);
}
更多追问追答
追问
2怎么做
😂
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
4747哦
2019-07-04 · TA获得超过675个赞
知道小有建树答主
回答量:365
采纳率:73%
帮助的人:71.1万
展开全部
全局变量
#include<stdio.h>
int l=0,n=0,s=0,o=0;
void count(char str[ ]);
int main()
{
char a[100];
printf("输入字符串\n");
gets (a);
count(a);
printf("字母有:%d个\n数字有:%d个\n空格有:%d个\n其他字符有:%d个\n",l,n,s,o);
}
void count(char str[])
{
for(int i=0;str[i]!='\0';i++)
{
if(str[i]==' ')
s++;
else if((str[i]<='z'&&str[i]>='a')||(str[i]<='Z'&&str[i]>='A'))
l++;
else if(str[i]<='9'&&str[i]>='0') n++;
else o++;
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式