the c programming language 2-3
2015-02-26 13:58
141 查看
#include<stdio.h> #define MAXLINELEN 1000 int power(int base,int n) { int i=0; int answer=1; for(i=0;i<n;i++) answer=answer*base; return answer; } /*strlen函数:返回s的长度*/ int strlen(char *s) { int i; i=0; while(s[i]!='\0') ++i; return i; } /*getline函数*/ void getlines(char *s) { int i=0; int lim=MAXLINELEN; int c; for(i=0;i<lim-1&&(c=getchar())!='\n'&&c!=EOF;i++) s[i]=c; } /*hexalpha_to_int函数:把单个char转换成int*/ int hexalpha_to_int(int c) { if(c>='0'&&c<='9') c=c-'0'; else if(c>='a'&&c<='z') c=c-'a'+10; else if(c>='A'&&c<='Z') c=c-'A'+10; return c; } /**/ int htoi(char s[]) { int len; int i; len=strlen(s); int answer=0; if(s[0]=='0'&&(s[1]=='X'||s[1]=='x')) { for(i=2;i<len;i++) { answer=hexalpha_to_int(s[i])*power(16,len-1-i)+answer; } } else { for(i=0;i<len;i++) { answer=hexalpha_to_int(s[i])*power(16,len-1-i)+answer; printf("i:%d\n",i); printf("hexalpha_to_int(s[i]):%d\n",hexalpha_to_int(s[i])); printf("power(16,len-1-i):%d\n",power(16,len-1-i)); printf("answer:%d\n",answer); } } return answer; } main() { char s[MAXLINELEN]; getlines(s); printf("%d\n",htoi(s)); }
相关文章推荐
- The Swift Programming Language swift 4 下载地址
- C++ Programming Language, The (3rd Edition)
- 基本语言细节--《The C++ Programming Language 》--(5) 软件大厦中的C++
- Selected solutions to exercise of "The C Programming Language" 2e (Part 7, End of Chapter 1)
- 读《The C Programming Language》(10)
- The C programming language 4.1
- The C Programming Language 练习题2-7
- The C# Programming Language Notes II
- Pointers, Arrays, and Structures(Chapter 5 of The C++ Programming Language)
- Expressions and Statements(Chapter 6 of The C++ Programming Language)
- Classes(Chapter 10 of The C++ Programming Language)
- The C Programming Language P8.7
- 《The C++ Programming Language》读书笔记
- The Swift Programming Language 中国版
- The Go Programming Language. Notes.
- 再读《The C Programming language》 - 第一章 1.4 字符常量
- The Go Programming Language Specification
- The Swift Programming Language中文版 ----About Swift
- The kayword "new" of CPP programming language
- [精校版]The Swift Programming Language--语言指南--闭包