C语言:写一个函数,输入一个十六进制数,输出相应的十进制数

分析:

    当用户运行该程序时,程序会提示用户输入一个十六进制数。用户需要在命令行中输入一个有效的十六进制数,例如:"1A3F"。
    接下来,程序调用了名为 xbed 的函数,并将用户输入的十六进制数作为参数传递给该函数。
在函数 xbed 中,我们定义了两个变量 i 和 sum,其中 i 用于循环遍历输入的十六进制数,sum 用于存储最终的十进制值。
     然后,使用一个 for 循环来遍历输入的十六进制数。在每次循环中,我们首先检查当前字符是否在 '0' - '9' 的范围内,如果是,则表示该字符是一个数字。我们将其转换为对应的十进制数,并更新 sum 变量。
    如果当前字符不是数字,则继续检查它是否在 'A' - 'F' 或 'a' - 'f' 的范围内。如果是,则表示该字符是一个字母(A-F或a-f)。我们将其转换为对应的十进制数,并更新 sum 变量。
    如果当前字符既不是数字也不是字母,则说明输入的字符串不是一个有效的十六进制数。程序输出一条错误提示信息,并使用 exit 函数终止程序的执行。
    当循环结束后,我们打印出转换后的十进制数 sum。

代码:

#include<stdlib.h>
int main()
{
	void xbed(char b[]);
	int i = 0;
	char a[10000];
	printf("十六进制:");
	scanf("%s", a);
	xbed(a);
}
void xbed(char a[])
{
	int i = 0, sum = 0;
	for(;a[i];i++)
	{
		if (a[i] >= '0' && a[i] <= '9') 
			sum = sum * 16 + a[i] - 48;
		else if (a[i] >= 'A' && a[i] <= 'F')  
			sum = sum * 16 + a[i] - 55;
		else if (a[i] >= 'a' && a[i] <= 'f')  
			sum = sum * 16 + a[i] - 87;
		else
			printf("这不是16进制"); exit(EXIT_FAILURE);
	}
	printf("十进制:");
	printf("%d\n", sum);
}

运行结果:

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Linux 权限管理

1 Linux 安全模型 AAA认证资源分派&#xff1a; 当用户登录时&#xff0c;系统会自动分配令牌 token&#xff0c;包括用户标识和组成员等等信息 1.1 用户 Linux 中每个用户是通过 User ID&#xff08;UID&#xff09;来唯一标识的。 1.2 用户组 Linux 中可以将一个或者多个…

limit 10和limit 10000 10效率相同吗

先说结论&#xff1a;不相同&#xff0c;差异很大。 set profiling 1;select * from xiatui order by id limit 10000,10;select * from xiatui order by id limit 10;show profiles; select * from xiatui order by name limit 90000,10;select * from xiatui order by name…

使用 NRF24L01 无线收发模块进行远程控制

NRF24L01 是一款基于 2.4GHz 射频通信的低功耗无线收发模块&#xff0c;具有高性能和稳定性&#xff0c;适用于远程控制和数据传输应用。本文将介绍如何使用 NRF24L01 模块进行远程控制&#xff0c;包括硬件的连接和配置&#xff0c;以及相应的代码示例。 一、引言 NRF24L01 是…

k8s报错

报错&#xff1a; 这个错误信息表明你的容器运行时&#xff08;container runtime&#xff09;没有正常运行&#xff0c;具体是因为CRI&#xff08;容器运行时接口&#xff09;v1版本的API没有为特定的端点实现。这通常发生在使用containerd作为容器运行时时。错误信息中提到的…

@RequestMapping处理请求异常

使用RequestMapping不指定请求方式&#xff0c;多种请求方式都支持。 Get格式FORM_URLENCODED Content-Typeapplication/x-www-form-urlencoded URL形式传参&#xff0c;请求体里面的内容是&#xff1a;usernamejohnexample.com&passwordsecretpassword&grant_type…

1.2 Ubauntu 使用

一、完成VMware Tools安装 双击 VMwareTool 打开 Ubuntu 终端快捷键 AltControlT 切换汉语的快捷键是Alt空格 ls 打印出当前所在目录中所有文件和文件夹 cd 桌面 进入桌面文件夹 sudo ./vmware-install.pl 安装tool&#xff0c;输入之前设置的密码。 地址默认&#xff0c;按…

论文阅读——Img2LLM(cvpr2023)

arxiv&#xff1a;[2212.10846] From Images to Textual Prompts: Zero-shot VQA with Frozen Large Language Models (arxiv.org) 一、介绍 使用大语言模解决VQA任务的方法大概两种&#xff1a;multi-modal pretraining and language-mediated VQA&#xff0c;即多模态预训练…

web:[NPUCTF2020]ReadlezPHP

题目 打开页面显示如下 没发现其他的线索&#xff0c;查看源代码 发现一个网址&#xff0c;访问这个页面查看 进行代码审计 这段代码是一个简单的 PHP 类&#xff0c;名为 HelloPhp。它有两个公共属性 $a 和 $b&#xff0c;并在构造函数中将它们分别初始化为字符串 "Y-m-…

Linux命令与shell脚本编程大全【读书笔记 + 思考总结】

Linux命令与shell脚本编程大全 第 1 章 初识Linux shellLinux的组成及关系结构图是什么&#xff1f;Linux系统内核的作用是什么&#xff1f;内核的主要功能是什么&#xff1f;&#xff08;4点&#xff09;物理内存和虚拟内存是什么关系&#xff1f;内核如何实现虚拟内存&#x…

zabbix 监控

zabbit 监控 非常成熟的监控软件。 运维人员&#xff0c;尽快系统服务器的状态&#xff0c;网站的流量&#xff0c;服务进程的运行状态。 保证整个集群的工作正常。7*24 zabbix是什么&#xff1a; web界面提供的一种可视化监控服务软件。 分布式的方式系统监控以及网络监控…

NodeJs(一):初识nodejs、模块化、CommonJS、ESModule等

目录 (一)Nodejs简介 1.nodejs是什么 2.nodejs架构 3.nodejs的应用场景 (二)准备工作 1.安装nodejs 2.nodejs版本管理工具 (三)nodejs的使用 1.node的输入 2.node的输出 3.其他的console方法 (四)全局对象 1.常见的全局对象 2.特殊的全局对象 3.global和window的…

用友U8 ERP和面粉行业专版系统接口集成方案

面粉加工行业面临着数据管理和业务流程自动化的挑战。众诚ERP系统和用友U8系统的数据集成是解决这一挑战的关键。 解决方案 轻易云平台提供了一套完善的数据同步和集成解决方案&#xff0c;包括以下几个方面&#xff1a; 基础资料同步&#xff1a;包括物料、客户、供应商、仓…

matlab 路面裂缝检测识别系统设计GUI

1、内容简介 略 23-可以交流、咨询、答疑 2、内容说明 路面裂缝检测识别系统设计GUI 基于matlab的GUI设计路面裂缝检测识别系统 matlab、GUI、直方图、裂缝检测、二值化 3、仿真分析 4、参考论文 略 链接&#xff1a;https://pan.baidu.com/s/1AAJ_SlHseYpa5HAwMJlk…

​LeetCode解法汇总2661. 找出叠涂元素

目录链接&#xff1a; 力扣编程题-解法汇总_分享记录-CSDN博客 GitHub同步刷题项目&#xff1a; https://github.com/September26/java-algorithms 原题链接&#xff1a;力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚爱的技术成长平台 描述&#xff1a; 给你一个下…

基于PHP的高中生物学习平台

有需要请加文章底部Q哦 可远程调试 基于PHP的高中生物学习平台 一 介绍 此高中生物学习平台基于原生PHP开发&#xff0c;数据库mysql。系统角色分为用户和管理员。(附带参考设计文档) 技术栈&#xff1a;phpmysqlphpstudyvscode 二 功能 学生 1 注册/登录/注销 2 个人中心 …

Unittest(1):unittest单元测试框架简介setup前置初始化和teardown后置操作

unittest单元测试框架简介 unittest是python内置的单元测试框架&#xff0c;具备编写用例、组 织用例、执行用例、功能&#xff0c;可以结合selenium进行UI自动化测 试&#xff0c;也可以结合appium、requests等模块做其它自动化测试 官方文档&#xff1a;https://docs.pytho…

CSS 多主题切换思路

前言 本篇仅提供多主题切换思路&#xff0c;示例简单且清晰。 实现 步骤一&#xff1a;多主题(颜色)定义 定义根伪类 :root&#xff0c;代码第 2 和 7 行。分别定义了默认和带参数的伪类&#xff1b;定义 CSS 变量&#xff0c;注意变量名需要以两个减号&#xff08;--&…

如何选择适合长期投资的股票板块?

大家在学习炒股的过程中肯定没少听“板块”这个词&#xff0c;新手可能一脸懵逼&#xff0c;板块到底是啥意思&#xff1f;为什么会有这么多板块&#xff1f; 一、什么是股票板块&#xff1f;常见的板块分类有哪些&#xff1f; 板块理解起来其实很简单&#xff0c;它就是一种分…

API成批分配漏洞介绍与解决方案

一、API成批分配漏洞介绍 批量分配&#xff1a;在API的业务对象或数据结构中&#xff0c;通常存在多个属性&#xff0c;攻击者通过篡改属性值的方式&#xff0c;达到攻击目的。比如通过设置user.is_admin和user.is_manager的值提升用户权限等级&#xff1b;假设某API的默认接口…

从自动化、数字化到智能化,鸿蒙与制造业的双向奔赴

终端万物互联&#xff0c;商业竞争瞬息万变&#xff0c;制造企业面临着数字化转型与产品智能化升级的双重考验。鸿蒙操作系统以统一操作系统方案&#xff0c;可以为制造企业解决设备生态碎片化以及跨终端对接问题&#xff0c;提供安全性、流畅度、多屏协同等功能&#xff0c;实…
最新文章