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

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

#include <stdioh>

#include <stringh>

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语言

函数fun()的功能是

当输入的字符是大写是,将该字符的ASCII值加32,也就是转换为小写。

而scanf()函数不能输入空格,因此输入My book时,实际只输入了My

fun()函数将M转换为小写,并由putchar()函数输出

#include<stdioh>

#include<stringh>

int MyStrCmp( char s1,char s2 );

int main()

{

char s1[30], s2[30];

gets(s1);

gets(s2);

printf("%d\n", MyStrCmp(s1, s2));

return 0;

}

int MyStrCmp(char  s1, char  s2)

{

int flag = 0;//0表示相等,1表示s1大于s2,-1表示s1小于s2

int minLength = 0; //较短串的长度

int i = 0;

minLength = strlen(s1) >= strlen(s2)  strlen(s1) : strlen(s2);

for(i = 0; i < minLength; i++)

{

if(s1[i] != s2[i])

{

if(s1[i] > s2[i])

flag = 1;

else

flag = -1;

break;

}

else

continue;

}

return flag;

}

1、char input(char a)

{

int i=0;

while ((a[i]=getchar())!='\n')

i++;

a[i]='\0';

return a;

}

int output(const char a)

{

int i;

for (i = 0; a[i]; i++) {

if (putchar(a[i])==EOF) return EOF;

}

putchar('\n');

return i;

}

2、//编写函数output和input,其功能分别于gets和puts相同,函数中用getchar和purchar读入和输出字符 

#include <stdioh>

#include <stdlibh>

#include <stringh>

#include <conioh>//包含getch()函数

 //系统的gets()函数没有判断输入字符个数是否超过接收缓冲区buf的大小

//同样,我们这里也不判断

char input(char buf)

{

char c = 0;

char pSaveWork = buf;

while ( true )

{

fflush(stdin);

c = getch();

扩展资料:

如果没有返回值类型名为"void", 整数类型int 类型返回值为整数类型int,以此类推……

类型名有:void int long float int long float ……

C++中函数的调用:函数必须声明后才可以被调用。调用格式为:函数名(实参)

调用时函数名后的小括号中的实参必须和声明函数时的函数括号中的形参个数相同。

有返回值的函数可以进行计算,也可以做为右值进行赋值。

-函数

void fun (char s1[],char s2[]){

int i,j;

for (i=0;s1[i] !=’\0’; i++); /求出的i为pA字符的总长度,包括结束标记位/

for (j=0;s2[j] !=’\0’; j++)

s1[i++]=s2[j]; /将pB字符串连在pA字符串的后面/

s1[i]='\0’; /在字符串最后加上结束标记符/

}

扩展资料:

最常用的字符串函数:

字符串输出函数puts格式:puts (字符数组名) 功能:把字符数组中的字符串输出到显示器。

2字符串输入函数gets格式:gets (字符数组名) 功能:从标准输入设备键盘上输入一个字符串。本函数得到一个函数值,即为该字符数组的首地址。

3字符串连接函数strcat格式:strcat (字符数组名1,字符数组名2) 功能:把字符数组2中的字符串连接到字符数组1 中字符串的后面,并删去字符串1后的串标志“”。

4字符串拷贝函数strcpy格式:strcpy (字符数组名1,字符数组名2) 功能:把字符数组2中的字符串拷贝到字符数组1中。串结束标志“”也一同拷贝。

5字符串比较函数strcmp格式:strcmp(字符数组名1,字符数组名2) 功能:按照ASCII码顺序比较两个数组中的字符串,并由函数返回值返回比较结果。

6测字符串长度函数strlen格式:strlen(字符数组名) 功能:测字符串的实际长度(不含字符串结束标志‘’) 并作为函数返回值。

参考资料:

-数组

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/12181453.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存