输入一个十六进制数,输出相应的十进制数与给出年、月、日,计算该日是该年的第几天

学习笔记python-16进制转日期 python-16进制转日期 阅读详情

输入一个十六进制数,输出相应的十进制数

代码:

#include<stdio.h>
#include<string.h>
void Base(char a[],int len)
{
	int  i,j, num,num1=0;
	int sum = 0,d=1;              
	for (i = len-1; i >=0; i--)//后序遍历 从最后一个开始
	{
		for (j = len - 1 - i; j >0; j--)
		{
			d *= 16;//如果输入的是其他进制数转十进制,将这里的16改成相应的进制就可以了
		}
		if (i == len - 1)//最后一个数直接可以算出所对应的的十进制的值
		{
			if (a[i] >= '0' && a[i] <= '9')
				num1 = a[i] - '0';
			else if (a[i] >= 'A' && a[i] <= 'F')
				num1 = a[i] - 'A' + 10;
			else  if(a[i] >= 'a' && a[i] <= 'f')
				num1 = a[i] - 'a' + 10;
			else { printf("输入错误"); break; }
			sum+= num1;
		}
		else                   //其他位上的数可以根据自己所在的位置推算出自己对应的十进制数是多少
		{
			if (a[i] >= '0' && a[i] <= '9')
				num = a[i] - '0';
			else if (a[i] >= 'A' && a[i] <= 'F')
				num = a[i] - 'A' + 10;
			else  if (a[i] >= 'a' && a[i] <= 'f')
				num = a[i] - 'a' + 10;
			else { printf("输入错误"); break; }
			sum += d*num ;
		}
		
		d = 1;//d置为1开始下一轮运算
	}
	printf("%d\n",sum);

}
int main()
{
	char a[10] = {""};
	gets_s(a);
	int n;
	n = strlen(a);
	Base(a,n);
	return 0;
}

程序的主要思想:我的主要思想就是按照普通的十六进制转十进制方法,最后一位数乘16的0次方加上其他倒数第i位数乘以16的i次方。
程序结果:
在这里插入图片描述

给出年、月、日,计算该日是该年的第几天

代码:

#include<stdio.h>
int leapYear(int y)//这是一个 闰年函数,判断所输入的是否为闰年
{
	if (((y % 4 == 0) && (y % 100 != 0)) || (y % 400 == 0))
	{
		return 1;
	}
	else return 0;
}
int judge(int y, int m, int d)//这是一个判断函数 判断所输入的年月日是否为正确格式
{
	int x = 1;
	switch (m)
	{
	case 1: case 3: case 5: case 7: case 8: case 10: case 12:
		if (d < 1 || d>31)
		{
			x = 0;
		}
		break;
	case 2:
		if (leapYear(y))
		{
			if (d < 1 || d>29)
				x = 0;
		}
		else
			if (d < 1 || d>28)
				x = 0;
		break;
	case 4: case 6: case 9: case 11:
		if (d < 1 || d>30)
			x = 0;
		break;
	}
	if (y < 0 || m < 1 || m>12)
		x = 0;
	return x;
}
int main()
{
	int y[12] = { 31,28,31,30,31,30,31,31,30,31,30,31 };//将平年每一月有多少天放入数组中
	int ye, m, d;
	int sum = 0;
c:	scanf("%d%d%d", &ye, &m, &d);
	if (judge(ye, m, d))//判断格式正确
	{
		if (leapYear(ye))//是否为闰年
		{
			y[1] = 29;		//是闰年的话讲数组中代表二月的元素置为29
			printf("%d年%d月%d日\n", ye, m, d);
			for (int i = 0; i < m - 1; i++)
			{
				sum += y[i];
			}
			printf("这是该年的第%d天", sum + d);
		}
		else
		{
			printf("%d年%d月%d日\n", ye, m, d);
			for (int i = 0; i < m - 1; i++)
			{
				sum += y[i];
			}
			printf("这是该年的第%d天", sum + d);
		}
	}
	else
	{
		printf("输入错误\n"); goto c;//如果输入格式错误,通过goto跳转到前面输入函数
	}
	return 0;
}

主要思想:先判断日期是否正确,比如年份要大于0,平年的2月没有29号,月份要大于0小于12;然后判断自己输入的年份是否为闰年,如果是闰年,将代表每个月的天数的数组中代表二月的y[1]置为29;然后通过for循环将输入的月数之前的每一个月的天数加起来,再加上输入的天数!
在这里插入图片描述

国产化适配之人大金仓数据库(二)数据迁移 本文介绍金仓数据库windows客户端自带的可视化界面数据迁移工具来迁移mysql的数据到金仓数据库 阅读详情

相关推荐

【华软C语言实验报告】实验9 函数(1)

实验9 函数(1) 一、实验目的: 1、理解函数的功能 2、熟练掌握函数的定义、声明和调用方法; 二、实验内容 1、(基础题)根据海伦公式由三角形的三边长度a、b、c可以计算三角形面积 ,公式为:,其中:p=(a+b+c)/2。请根据下列要求编写程序: (1)三角形面积的计算由函数triangle_area实现,函数原型为:double triangle_area(double a, doub...

蔡智杰の乐园地 5529

C++实现根据十六进制数,显示年月日时分的程序。

int atime(uchar atime[5]) { //a类型时间解析 //显示年月日时分 int year,year0,year1; year0 = atime[4]/16; year1 = atime[4]%16; year  = year0*16+year1; printf("时间为:20%.2d年",year); /*待改进,十六进制uchar转十进制int型方法*/ int mont...

qq_35330032的博客 1571

XYNU OJ 1110—1121基础题(适合于C语言初学者)

欢迎访问XYNUOJ 1110: 习题7-7 复制字符串中的元音字母 时间限制: 1 Sec  内存限制: 12 MB 提交: 66  解决: 42 [提交][状态][讨论版][Edit] [TestData] 题目描述 写一个函数,将一个字符串中的元音字母复制到另一个字符串中。在主函数中输入一个字符串,通过调用该函数,得到一个有该字符串中的元音字母组成的一个字符串,并

69小石头的博客 1809

excel中十六进制Unix时间戳转换为日期

记录下使用的一个在excel中转换unix时间戳的计算方式。 原始数据一般保存在csv文件中,且以16进制的格式。 在看原始数据分析的问题时候,需要通过计算器先把十六进制转为十进制,再使用unix时间戳转换工具转换,步骤繁杂。 本文分享一个在excel中转换十六进制unix时间戳的计算方法。 下文分步骤讲解,并在文末给出终极转换公式。 1.原始数据格式,32位unix时间戳被分成了四个字节分布于四个连续的单元格内; 2.将四个单元格合并至一个单元格内,合并单元格内容使用&; 合并后的结果如下所示

keven的博客 8702

C语言:上机编程题集

输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数 求最大公约数和最小公倍数 译密码:按规律将字母变成其后的第四个字母 给一个不多于5位的正整数,输出它的位数及每位数字的值 甲、乙乒乓球队比赛,编程找出3对赛手的名单 输入一行字符,统计其中有多少个单词,并将每个单词首字母大写(考虑空格,考虑单词的缩写) 输出n以内的素数 杨辉三角 输入一个十六进制数,输出相应的十进制数 给出年、月...

南淮北安的博客 6586

十六进制与时间转换

十六进制与时间转换器工具,方便分析数据包等用途

日期和年月日的转换

/** * 字符串转换成时间类型 * @param str * @return */ public Date getDate(String str) { SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy年MM月dd日"); Date date = null; try { date = dateFormat.parse(str); } catch (ParseException e) { .

rrgef的博客 383

MJD时间算法转换,直接通过十六进制进行年月日转换

算法已经完善,通过输入的MJD十六进制,转换成需要的年月日,代码中有详细解释

十进制十六进制互转、数字转字符、日期转总天数

[code="c"] #include /* 将十六进制转换成十进制输出 */ void hex2dec(char *hex) { int result = 0; int temp; while(*hex != '\0') { if(*hex>='0' && *hex='A' && *hex='a' && *hex...

zy3381的专栏 477

Mac终端SSH连接腾讯云服务器保姆级教程(附秘钥管理技巧)

本文提供Mac终端SSH连接腾讯云服务器的详细教程,涵盖密钥生成、权限设置、连接优化及高级管理技巧。通过清晰的步骤和实用配置,帮助用户安全高效地管理远程服务器连接,特别适合开发者和运维人员参考。

weixin_29248313的博客 455

NIDS——suricata(一)

NIDS——suricata环境安装和规则编写

weixin_58666006的博客 1273

【C语言刷题基础:变量、表达式、分支、循环(一)】

目录输入&输出&计算判断&循环 输入&输出&计算 题目: 给定一个华氏温度F,本题要求编写程序,计算对应的摄氏温度C。计算公式:C=5×(F−32)/9。题目保证输入与输出均在整型范围内。 代码: #include <stdio.h> int main() { int f; scanf("%d",&f); int c = 5 * (f -...

s599796的博客 352

ArcGISPro应用指南:ArcGISPro制图全流程详解

本文介绍了基于ArcGIS Pro的地图制作基本流程,旨在帮助读者快速掌握从数据加载到地图输出的完整制图操作。文章首先简要概述了GIS技术在当今数据驱动时代的重要作用,并引出ArcGIS Pro作为专业GIS平台的优势与应用价值。随后,内容围绕地图制作的核心步骤展开,包括数据加载、布局创建、地图范围设置以及各类地图要素(如指北针、比例尺、图例、图名)的插入与样式调整。此外,还介绍了如何通过添加图形、文本及动态元素增强地图表达效果,并最终完成地图导出设置与文件输出格式的选择。

weixin_45812624的博客 1357

字符数据与格式符

putchar与getchar 以及常用格式符 ,打印闰年,函数基础中的求最大值中参数书列表作用。

419

华为OD机试双机位C卷-停车场收入统计 (Py/Java/C/C++/Js/Go)

华为OD机试双机位C卷 停车场收入统计,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解。华为OD机试 - 停车场收入统计。

qq_45776114的博客 2185

CodeBuddy Code CLI 常用工作流:17个实战场景全解析

CodeBuddy Code CLI 17个实战场景解析 本文详细介绍了CodeBuddy Code CLI在17个开发场景中的高效应用,包括: 快速理解新代码库 高效修复Bug 安全重构代码 使用子代理系统处理专业任务 Plan Mode安全分析 自动化测试处理 创建合并请求 文档生成与维护 图片内容分析 文件目录快速引用 每个场景都配有具体命令示例和最佳实践,帮助开发者提升工作效率。

简简单单Onlinezuozuo 1079

C 语言基础练习之判断语句

本文介绍了C语言中判断语句的几种实用练习,包括十进制转十六进制的两种实现方法(printf格式化和字符转换法)、switch语句的使用要点、日期计算(判断某天是当年的第几天)以及字符串类型统计的两种方法(if-else和switch)。文章还分享了清空输入缓冲区的小技巧。通过这些基础但典型的练习,帮助读者深入理解C语言的判断结构应用,掌握实际编程中的常见处理方法和技巧。

2504_92895948的博客 1030

基于 ESP32+IMU+BLE HID 的低延迟无线体感游戏控制器设计与实现

本文设计的基于 ESP32 的低延迟无线体感游戏控制器,通过合理的硬件选型与软件优化,实现了体感姿态感知与无线低延迟传输的核心功能。硬件上采用 ESP32+MPU6050+TP4056 的低成本方案,接线简单、便携性强;软件上通过轻量化库、互补滤波算法与非阻塞 BLE 传输,有效降低了系统延迟,满足体感游戏的使用需求。

weixin_42300449的博客 400

python期末题库和答案,python期末怎么考

大家好,小编来为大家解答以下问题,python期末题库和答案,python期末怎么考,今天让我们一起来看看吧!是一个数学函数,它的作用是返回不小于参数num的最小整数值。换句话说,它会向上取整并返回一个大于或等于num的整数。例如,如果num是 5.3,那么将返回 6。如果num是 -2.7,那么将返回 -2(因为向上取整后的整数必须大于或等于原始的负数)。这个函数在处理需要返回大于或等于给定值的整数时非常有用,比如计算货币金额、调整图像大小等。oct(num)

2401_84471631的博客 892

【华为OD机试真题 2025C卷】895、贪心歌手 | 机试真题+思路参考+代码解析 (C++、Java、Py、C语言、JS)

【华为OD机试真题 2025C卷】895、贪心歌手 | 机试真题+思路参考+代码解析 (C++、Java、Py、C语言、JS) 华为od机试,华为od机试真题,华为od机试E卷,华为odE卷,华为od机试真题E卷,华为OD,华为OD机试,华为OD机试真题,华为od机考,华为od机试D卷,华为od机试真题D卷,华为od手撕代码,华为od,华为od机试C卷,华为od e卷,华为2025e卷,od机试,2025E卷,华为OD机试E卷,什么是华为od,华为od介绍,全面了解华为od,2025华为od,如何备战华

KJ.JK 964

【思考模型框架】前景理论(Prospect Theory),认为人们并不是完全理性的决策者,而是根据一些心理上的偏差来评估选项的价值

前景理论,是一种行为经济学理论。前景理论,描述了人们在不确定条件下如何作出决策。前景理论,认为人们并不是完全理性的决策者,而是根据一些心理上的偏差来评估选项的价值。

奶爸的编程之路,也就一周冷个三天 1642

函数编程实验

(1)用函数调用实现求1~7的平方及平方和。 (2)写一个判断素数的函数,在主函数中输入一个整数,输出是否是素数的信息。 (3)写两个函数,分别求出两个整数的最大公约数和最小公倍数,在主函数中调用这两个函数并输出结果,整数由键盘输入。 (4)写一个函数,使输入的字符串反序存放,在主函数中输入和输出字符串。 (5)写一个函数,输入一个十六进制数,输出相应的十进制数。 (6)用递归法将一个整数n转换成...

weixin_44303677的博客 724

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

Java练习:进制转换、日期计算、乘法表两种实现

思路:二进制即为逢 2 进 1。所以可以每次整除2,取出余数,逆序拼接成字符串。基本和上面转换思想相同,但是十六进制和其他二进制八进制不同之处就是多出了 ABCDEF六个字符。1.先设置当月 1 日,然后计算出 1 日是星期几,这样可以确定 1号在周几的开始位置。考点 主要是如何能巧妙的使用break,这里主要是在case 月份,要反着来写即可。在一层循环中使用了两个条件。每行的列数正好为当前的行号。思路关键点:本题的关键点就是需要控制换行和每月天数问题。思路:本题主要限制的实现方式只能使用switch。

zp8126的专栏 626

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

语言谓词函数isprime_大一 C语言 实验1

一、 实验目的 掌握C语言中的变量、数组、函数、指针、结构体等主要知识点。 掌握C程序的结构化程序设计方法,能使用C语言开发简单的应用程序。掌握C程序的运行、调试方法等。二、 实验内容(1)用函数调用实现求1~7的平方及平方和。三、 实验步骤与过程#include<stdio.h>#include<math.h>int pingfansum(int i,int q){int...

weixin_42692935的博客 2034

【C语言好题系列二】

2. 以下不正确的定义语句是(B)

2301_76560014的博客 407

C语言假期作业 DAY 01

3、 test.c 文件中包括如下语句,文件中定义的四个变量中,是指针类型的变量为【多选】()A: aB: bC: cD: d。

m0_74444368的博客 1448
上一篇: 由两个绝对路径来推出相对路径 与 输出九九乘法表
下一篇: 指针
bareheadedman
博客等级 码龄7年 18粉丝 52原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值