1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 【函数参数传递】编写一个函数 统计字符串中小写字母的个数 并把字符串中的小写字母

【函数参数传递】编写一个函数 统计字符串中小写字母的个数 并把字符串中的小写字母

时间:2021-01-24 19:45:40

相关推荐

【函数参数传递】编写一个函数 统计字符串中小写字母的个数 并把字符串中的小写字母

字符串怎么存?

先把字符串中的小写字母统计出来,用strfun()这个函数。当功能比较复杂的时候就一步一步来做。

然后把数组传过来。数组名就是一个指针。需要一个返回值,来记录小写字母的个数,n=strfun(s).

#include<stdio.h>

int str_fun(char *p);

int main(int argc,char *argv[])

{

char s[ ] = “welcomebeijing”

n=str_fun(s);

printf( " n = % d \n , n");

return 0;

}

int str_fun(char *p)

{

int num =0;

while (*p ! = '\0')

{

if(*p<='z' && *p>='0')

num++;

p++;

}

return num;

}

原理:

这类题目主要通过ASCII(美国信息交换标准代码)码差值实现,A对应ASCII码十进制数字是65,a对应ASCII码十进制数字是97,即大小写字母之间ASCII码差值为32,想要将大写字母转换为小写字母可以将该字符ASCII码值+32,同理小写字母转换成大写字母只需将该字符ASCII码值-32

代码1:

#include<stdio.h>#include<assert.h>char * my_strlwr(char * str) //定义一个my_strlwr函数{assert(str); //str的非空性char *ret = str; //定义一个ret保存最初的strwhile(*str != '\0')//判断字符串是否结束{ if((*str >= 'a')&&(*str <= 'z'))//判断当前的字符是否是小写字母{*str = *str -32;//将其转化为大写字母str++;}elsestr++;}return ret; //返回该字符串数组的首地址}int main(){char str1[666];printf("请输入一段字母:\n");scanf("%s",&str1);//输入字母字符串printf("%s\n",my_strlwr(str1)); //调用该函数,并且输出新的字符串return 0;}

【函数参数传递】编写一个函数 统计字符串中小写字母的个数 并把字符串中的小写字母转化成大写字母。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。