`
carolaif
  • 浏览: 70883 次
  • 性别: Icon_minigender_2
  • 来自: 大连
最近访客 更多访客>>
社区版块
存档分类
最新评论

C程序设计语言(第二版) 2-3

阅读更多

2-3 编写函数htoi(s),把由十六进制数字组成的字符串(包含可选的前缀0x或0X)转换为与之等价的整型值。字符串中允许包含的数字包括:0~9,a~f,A~Z

 

#include <stdio.h>
#include <math.h>

#define MAXLENGTH 10

int getline(char s[], int max);
int htoi(char s[]);

int main(){

	int len;
	char s[MAXLENGTH];
	int i;
	for(i=0;i<MAXLENGTH;i++)
		s[i]=-1;
	len = getline(s,MAXLENGTH);
	int flag=0;//flag =1 表示符合十六进制的表示
	for(i=1;i<len;i++)
	{
		if( (s[i]>='0'&& s[i]<='9')||(s[i]>='a'&& s[i]<='f')||(s[i]>='A'&& s[i]<='F'))
			flag=1;
		else 
			flag=0;
	}
	int num;
	if(flag==0){
		printf("not a hex\n");
		return 0;
	}
	else
		num=htoi(s);
	printf("%d\n",num);
	return 0;
}

int getline(char s[], int max)
{
	char c;
	for(int i=0; i<max && (c=getchar())!=EOF && c!='\n';i++)
	{
		s[i]=c;
	}
	return i;
}

int htoi(char s[])
{
	int length;
	int i;
	int num=0;
	for(i=0;s[i]!=-1;i++)
	{;}
	length=i;
	for(i=length-1;i>1;i--)
	{
		if(s[i]>='0'&& s[i]<='9')
			num+=(s[i]-'0')*pow(15,length-i-1);
		if(s[i]>='a'&& s[i]<='f')
			num+=(s[i]-'a'+10)*pow(15,length-i-1);
		if(s[i]>='A'&& s[i]<='F')
			num+=(s[i]-'A'+10)*pow(15,length-i-1);
	}
	return num;
}

 

分享到:
评论

相关推荐

    python语言程序设计基础第二版第二章答案-python语言程序设计基础(嵩天)第二章课 .pdf

    python语⾔程序设计基础第⼆版第⼆章答案-python语⾔程序 设计基础(嵩天)第⼆章课。。。 **第⼆学期第⼀周学习总结 ⼀. 本周学习内容总结 ⼀维数组,了解了⼀维数组的定义(定义⼀个数组,需要明确数组变量名,数组...

    C程序设计语言[第2版].pdf

    在计算机发展的历史上,没有哪一种程序设计语言像C语言这样应用如此广泛。 本书原著 即为C语言的设计者之一Dennis M.Ritchie和著名的计算机科学家Brian W.Kernighan合著的 一本介绍C语言的权威经典著作。我们...

    《c程序设计语言》英文第2版课后答案.chm

    《c程序设计语言》英文第2版课后答案.chm

    《C语言程序设计现代方法第2版修订版》课后习题参考答案.pdf

    在《C语言程序设计现代方法第2版》的基础上添加了C1X的内容,测试了Cygwin3.3.4、VS2022和PellesC对C1X新特性的支持情况,暂未解答新增的第28章编程题第2题的多线程版。2022-3-13更新

    计算机程序设计(Java)-教案--单元二--Java语言开发基础.docx.docx

    计算机程序设计(Java)-教案--单元二--Java语言开发基础全文共8页,当前为第1页。计算机程序设计(Java)-教案--单元二--Java语言开发基础全文共8页,当前为第1页。课堂教学计划表 计算机程序设计(Java)-教案--...

    程序设计基础(Python语言)-习题参考答案(周翔-版).docx

    程序设计基础(Python语言)-习题参考答案(周翔-版)全文共14页,当前为第1页。程序设计基础(Python语言)-习题参考答案(周翔-版)全文共14页,当前为第1页。程序设计基础(Python语言) 程序设计基础(Python语言)-习题...

    程序设计基础(Python语言)-习题参考答案(周翔-版)(1).docx

    程序设计基础(Python语言)-习题参考答案(周翔-版)(1)全文共14页,当前为第1页。程序设计基础(Python语言)-习题参考答案(周翔-版)(1)全文共14页,当前为第1页。程序设计基础(Python语言) 程序设计基础(Python语言)-...

    C程序设计语言(第2版·新版中文)

    《C程序设计语言》(第2版新版)讲述深入浅出,配合典型例证,通俗易懂,实用性强,适合作为大专院校计算机专业或非计算机专业的C语言教材,也可以作为从事计算机相关软硬件开发的技术人员的参考书。《C程序设计语言》...

    程序设计入门—C语言(完)-浙江大学-翁恺 视频.txt

    何钦铭、颜晖,《C语言程序设计(第3版)》,高等教育出版社,2015年,ISBN 978-7-04-043128-3 颜晖、张泳,《C语言程序设计实验与习题指导(第3版)》,高等教育出版社,2015年,ISBN 978-7-04-043563-4 常见...

    C语言程序设计(PDF格式)

    1.1 程序设计语言的发展 1 1.2 C语言的特点 2 1.2.1 C语言是中级语言 2 1.2.2 C语言是结构化语言 3 1.2.3 C语言是程序员的语言 3 1.3 C语言的程序结构 4 1.3.1 基本程序结构 4 1.3.2 函数库和链接 6 1.3.3 开发一个C...

    C++程序设计语言_特别版

    出版者的话 专家指导委员会 中文版序 译者序 序 第2版序 第1版序 导论 第1章 致读者 第2章 C++概览 第3章 标准库概览 第一部分 基本功能 第4章 类型和声明 第5章 指针、数组和结构 第6章 表达式和语句 第7章 函数 第...

    c语言程序设计(第三版)

    1.2 当代最优秀的程序设计语言 2 1.3 C语言版本 2 1.4 C语言的特点 3 1.5 面向对象的程序设计语言 3 1.6 C和C++ 3 1.7 简单的C程序介绍 4 1.8 输入和输出函数 5 1.9 C源程序的结构特点 6 1.10 书写程序时应遵循的...

    C语言入门经典(第4版)--源代码及课后练习答案

    书中除了讲解C程序设计语言,还广泛介绍了作为一名C程序设计人员应该掌握的必要知识,并提供了大量的实用性很强的编程实例。本书的目标是使你在C语言程序设计方面由一位初学者成为一位称职的程序员。读者基本不需要...

    C语言精典版本C程序设计语言

    《C程序设计语言》的第2版描述的是ANSI标准定义的C语言。尽管我们已经指出语言中的多种革新,但我们还是决定不用新的形式来写。对于大部分内容并没有多大的差别,最明显的改变是新形式的函数声明和定义。现代编译器...

    【计算机二级】c-and-python-study-note.zip

    《高教版 Python语言程序设计冲刺试卷》(第2版) 【4】辅导视频推荐: 中国大学MOOC《Python语言程序设计》嵩天、黄天羽、礼欣 【5】大纲涉及重点内容: 基本语法 标准库:turtle 库、random库 、time 库 第三方库...

    Windows 程序设计(第5版)(上、下册)--详细书签版

    在《Window程序设计》(第5版)中,这位杰出的“Windows先锋奖”(Windows Pioneer Award)获得者根据最新的Windows操作系统权威技术修订了他的经典著作——再一次演示了基本的Win32程序设计的API核心内容。...

    C语言实例解析精粹(第二版) 光盘代码

    C语言实例解析精粹(第二版) 光盘代码 本文件包括以下内容: ※ 1、文件说明 ※ 2、源码操作说明 ※ 3、光盘目录清单 ◎ 源码操作说明 源代码使用方法是(以实例1为例): 将该实例的源码,比如实例1的1.c文件(可以...

    C大学教程(第五版·中文版).pdf【第一部分】

    第2章 C语言程序设计入门 第3章 结构化的C程序设计 第4章 C程序控制 第5章 C函数 第6章 C数组 第7章 C指针 第8章 C字符和字符串 第9章 格式化输入输出 第10章 结构体、共用体、位操作和枚举类型 第11章 文字处理 第...

    C++面向对象程序设计课后答案

    2.面向对象程序设计语言有四个特征: ⑴ 抽象性 ---- 许多实体的共性产生类。 ⑵ 封装性 ---- 类将数据和操作封装为用户自定义的抽象数据类型。 ⑶ 继承性 ---- 类能被复用,具有继承(派生)机制。 ⑷ 多态性 ----...

Global site tag (gtag.js) - Google Analytics