C语言 - 编写函数计算字符串中小写字母个数并转化为大写字母

这篇具有很好参考价值的文章主要介绍了C语言 - 编写函数计算字符串中小写字母个数并转化为大写字母。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

题目

编写一个函数,统计字符串中小写字母的个数,并把字符串中的小写字母转化成大写字母

一开始的思路

主要是运用 islower() 函数 和 toupper() 函数来识别和转化字符串中的小写字母,在这个过程中用 n++ 统计小写字母数量。

相应代码

#include<stdio.h>
#include<ctype.h>
#define N 100

int change(char * p);

int main()
{
	//char str[] = "BeiJingHuanYingNi";
    char str[N];//待转化和计算的字符串

	printf("请输入一个字符串:");
	gets(str);

    printf("您输入的字符串:%s\n",str);

    printf("字符串中小写字母的个数为:%d 字符串大小写转换结果为:%s\n",change(str),str);

	return 0;
}

int change(char * p)
{
	int lowern = 0;//存放字符串中小写字母个数

	while (*p != '\0')
	{
		if (islower(*p))
		{
			lowern++;
			*p = toupper(*p);
		}//进行小写转化并计数
		p++;
	}

	return lowern;
}

输出结果:

您输入的字符串:wasdAADvdseiD
字符串中小写字母的个数为:9 字符串大小写转换结果为:WASDAADVDSEID

但是我发现在我输入带有数字的字符或是其它字符时也有部分会被识别成小写字母并计数,这时候需要排除掉除了真正小写字母的情况:

#include<stdio.h>
#include<ctype.h>
#define N 100

int change(char * p);

int main()
{
	//char str[] = "BeiJingHuanYingNi";
    char str[N];

	printf("请输入一个字符串:");
	gets(str);

    printf("您输入的字符串:%s\n",str);

    printf("字符串中小写字母的个数为:%d 字符串大小写转换结果为:%s\n",change(str),str);

	return 0;
}

int change(char * p)
{
	int lowern = 0;

	while (*p != '\0')
	{
		if (islower(*p))
		{
			if(*p <= 'z' && *p >= 'a') //排除掉除了真正小写字母的情况
			{
				lowern++;
			    *p = toupper(*p);
			}
		}
		p++;
	}

	return lowern;
}

当然了,不用 toupper() 函数也可以进行小写转大写,就是 *p - ‘ ’ (空格ASCII码值为32)文章来源地址https://www.toymoban.com/news/detail-669740.html

感悟

  • 在测试运行结果时一定要尽可能测试完所有的情况,否则程序会出现意想不到的bug
  • 如果程序只用遍历字符串计数的话,可以给字符指针加上 const : const char * p; 意味着字符串内容不可修改,只读

到了这里,关于C语言 - 编写函数计算字符串中小写字母个数并转化为大写字母的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • PTA C语言 7-1 删除字符串中指定字母

    请使用指针的方法编写程序,程序的功能是从键盘输入一个字符串(字符串长度小于100),删除其中的字母a后输出。例如,输入字符串abcaca,输出bcc。 输入样例: 输出样例: 答案:   数组实际上就是指针,所有没有问题 因为

    2024年02月03日
    浏览(17)
  • 汇编语言(Assembly Language)习题:键盘输入一个字符串,试将其中的小写字母转换为大写字母,其它字符保持不变。

    前置知识:汇编语言常用系统功能调用(如果懂直接跳过看题目详解) 格式: 功能:从键盘输入字符的ASCII码送入寄存器AL中,并送显示器显示。 格式: 功能:将DL寄存器中的字符送显示器显示,如果DL中为〈CTRL〉+〈BREAK〉的ASCII码,则退出。 格式: 功能:将DL寄存器中的字

    2024年02月03日
    浏览(16)
  • C语言学习之统计英文字符串中26个字母大小写出现的次数

    实例要求: 编写C语言代码,统计出英文字符串中26个字母大写和小写 出现的次数 ; 输入输出如下所示: 实例分析: 1.对字符串用 while循环或者for循环 进行遍历,找到 26个英文字母大小写 ; 2.将所有英文字母大写或者小写都转换成 ASCII值 ,进行运算; 3.封装相应的功能函数

    2024年02月10日
    浏览(20)
  • 【LeetCode每日一题】2645. 构造有效字符串的最少插入数(计算组数+动态规划+考虑相邻字母)

    2024-1-11 2645. 构造有效字符串的最少插入数 方法一:计算组数 1.用count统计,能构成几组abc 2.如果当前字符大于之前字符,说明还在组内,不更新 3.如果当前字符小于等于之前字符,说明不是同一组的abc,组数更新 4.最终返回值:组数*3,再减去原本的字符数,就是要插入的次数

    2024年01月17日
    浏览(29)
  • 编写函数,判断一个字符串是否是回文。在主函数中输入一个字符串,调用自定义函数,输出结果。 所谓回文是指顺读和倒读都一样的字符串。如“AMNMA“是回文。

    编写函数,判断一个字符串是否是回文。在主函数中输入一个字符串,调用自定义函数,输出结果。 所谓回文是指顺读和倒读都一样的字符串。如\\\"AMNMA\\\"是回文。 测试输入:abcba 测试输出:是回文! 这道题要求编写一个函数来判断一个字符串是否是回文,并在主函数中调用该

    2024年02月03日
    浏览(24)
  • C语言:字符函数和字符串函数(一篇拿捏字符串函数!)

    目录 求字符串长度: 1. strlen(字符串长度) 长度不受限制函数: 2. strcpy(字符串拷贝) 3. strcat(字符串追加) 4. strcmp(字符串比较) 长度受限制函数: 5. strncpy(字符串拷贝) 6. strncat(字符串追加) 7. strncmp(字符串比较) 字符串查找: 8. strstr(查找字符串子串) 9. strtok(字符串分割) 错误信

    2024年02月10日
    浏览(42)
  • 【C语言】字符函数,字符串函数,内存函数

    大家好!今天我们来学习C语言中的字符函数,字符串函数和内存函数。 目录 1. 字符函数 1.1 字符分类函数 1.2 字符转换函数 1.2.1 tolower(将大写字母转化为小写字母) 1.2.2 toupper(将小写字母转化为大写字母) 2. 字符串函数 2.1 字符串输入函数 2.1.1 gets() ​2.1.2 fgets() 2.2 字符串

    2024年02月10日
    浏览(35)
  • 在 SQL Server 中编写函数以获取年加周的字符串

    在 SQL Server 中,有时候我们需要将日期转换为表示年份和周数的字符串。为了实现这个目标,我们可以编写一个简单的函数。下面是一个示例函数,该函数接受一个日期作为输入,并返回年份和周数的字符串。 在这个函数中,首先使用 YEAR 函数获取输入日期的年份,然后使用

    2024年02月20日
    浏览(23)
  • C语言 - 字符函数和字符串函数

    目的:学习主要常见字符串和字符串函数,及其部分函数的模拟过程。 C语⾔中有⼀系列的函数是专⻔做字符分类的,也就是⼀个字符是属于什么类型的字符的。 这些函数的使⽤都需要包含⼀个头⽂件是 ctype.h。 这些函数的使⽤⽅法⾮常类似,我们就讲解⼀个函数的事情,其

    2024年02月05日
    浏览(50)
  • C语言:字符函数和字符串函数

    C语言:初识C语言 C语言:分支语句和循环语句 C语言:函数 C语言:数组 C语言:操作符详解 C语言:指针详解 C语言:结构体 C语言:数据的存储 今天来盘一下字符函数和字符串函数。 C语言中对字符和字符串的处理很是频繁,但是C语言本身是没有字符串类型的,字符串通常

    2024年02月11日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包