当前位置: 首页 > news >正文

编程从键盘输入一个大写英文字符,将其转换为小写字符显示并显示出它的十进制,十六的 ASCI码。

前言:

练习c语言

 本来想写高级一点,奈何.,.......

本来想判断不是大写,就让用户重新输入的, 我记得比特老师讲过,要不嗯

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>
//1.编程从键盘输入一个大写英文字符,将其转换为小写字符显示并显示出它的十进制,十六的 ASCI码。(10分)

int main()
{
	char upper = '\0';  // 初始化为空字符
	char lower = '\0';  // 初始化为空字符

	scanf("%c", &lower);

		if (lower > 'a' && lower < 'z')
		{
			//则判断为小写字母,则输出错误,提示重新输入
			printf("请输入小写字母\n");
			
		}
		else if (lower >= 'A' && lower < 'Z')
		{
			//转换为小写字母
			upper = lower + 32;
		}
		else
			printf("输入错误,请重新输入");



	printf("大写字母为:%c \n", upper);
	printf("十进制为:%d \n", upper);
	printf("十六进制为:%x \n", upper);
	return 0;
}

好了,加了一个判断条件

!judge 不等于0就为真,就继续执行

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>
//1.编程从键盘输入一个大写英文字符,将其转换为小写字符显示并显示出它的十进制,十六的 ASCI码。(10分)

int main()
{
	char upper = '\0';  // 初始化为空字符
	char lower = '\0';  // 初始化为空字符
	int judge = 0;

	while (!judge)
	{
		scanf("%c", &lower);
		if (lower >= 'a' && lower <= 'z')
		{
			//则判断为小写字母,则输出错误,提示重新输入
			printf("请输入小写字母\n");
			judge = 0;   //让条件为为假,就是判断为真,继续执行当前循环

		}
		else if (lower >= 'A' && lower <= 'Z')
		{
			//转换为小写字母
			upper = lower + 32;
			judge = 1;     //跳出循环
		}
		else
		{
			printf("输入错误,请重新输入\n");
			judge = 0;  //让条件为为假,就是判断为真,继续执行当前循环
		}


	}

	printf("大写字母为:%c \n", upper);
	printf("十进制为:%d \n", upper);
	printf("十六进制为:%x \n", upper);
	return 0;
}

出现了这个错误,就是有两个字符,有一个字符,还有一个\n,所以需要清空缓存区

改进

加一个清空缓存区的操作

while (getchar() != '\n');

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>
//1.编程从键盘输入一个大写英文字符,将其转换为小写字符显示并显示出它的十进制,十六的 ASCI码。(10分)

int main()
{
	char upper = '\0';  // 初始化为空字符
	char lower = '\0';  // 初始化为空字符
	int judge = 0;

	while (!judge)
	{
		scanf("%c", &lower);
		if (lower >= 'a' && lower <= 'z')
		{
			//则判断为小写字母,则输出错误,提示重新输入
			printf("请输入大写字母\n");
			judge = 0;   //让条件为为假,就是判断为真,继续执行当前循环

		}
		else if (lower >= 'A' && lower <= 'Z')
		{
			//转换为小写字母
			upper = lower + 32;
			judge = 1;     //跳出循环
		}
		else
		{
			printf("输入错误,请重新输入\n");
			judge = 0;  //让条件为为假,就是判断为真,继续执行当前循环
		}

		// 清空输入缓冲区,防止回车键影响下次输入
		while (getchar() != '\n');

	}

	printf("大写字母为:%c \n", upper);
	printf("十进制为:%d \n", upper);
	printf("十六进制为:%x \n", upper);   //%x指的是16进制的数字
	return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.dtcms.com/a/87499.html

相关文章:

  • Kubernetes集群中部署SonarQube服务
  • Gitee上库常用git命令
  • Babel 从入门到精通(四):@babel/template的应用实例与最佳实践
  • 【JavaEE】springMVC返回Http响应
  • 【负载均衡系列】Nginx
  • 【例6.5】活动选择(信息学奥赛一本通-1323)
  • 如何拆解模糊需求管理
  • 【C语言】自定义数据类型:联合体和枚举
  • Java Collection API增强功能系列之二 List.of、Set.of、Map.of
  • 《Python全栈开发》第12课:RESTful API设计 - 构建现代化接口
  • ArrayList<E>案例//定义一个方法,将价格低于3000的手机信息返回
  • 0324-项目
  • 【蓝桥杯速成】| 11.回溯 之 子集问题
  • SpringBoot星之语明星周边产品销售网站设计与实现
  • 内存管理模块设计与实现
  • 单片机的时钟输出功能-MCO输出(7)
  • Android 13深度定制:揭秘类MIUI全面屏手势返回动效的架构级实现
  • 零知识证明:区块链隐私保护的变革力量
  • python人脸检测、人脸识别、活体检测入门学习教程
  • Java 中调用语言模型(如 OpenAI、阿里云通义千问、Hugging Face 等)API 的详细步骤和示例代码,涵盖常见场景及注意事项
  • pip包py2safe一键加密python项目
  • IntelliJ IDEA 将 Spring Boot 项目远程部署到服务器
  • Oracle相关的面试题
  • BKA-CNN-LSTM、CNN-LSTM、LSTM、CNN四模型多变量时序光伏功率预测,附模型研究报告
  • HCIE是否必须培训?
  • 光流 | 基于HS光流算法的稠密光流提取原理、分析、公式,改进措施,matlab完整代码
  • Linux paste命令
  • 深度技术指南:msvcp140.dll文件丢失的8种修复方案
  • Fiddle快速入门(抓包工具)
  • 蓝桥杯备考:二分答案之数列分段