实验7-3-6 字符串转换成十进制整数 (15 分)
发布日期:2021-06-29 22:19:31
浏览次数:4
分类:技术文章
本文共 1154 字,大约阅读时间需要 3 分钟。
实验7-3-6 字符串转换成十进制整数 (15 分)
输入一个以#结束的字符串,本题要求滤去所有的非十六进制字符(不分大小写),组成一个新的表示十六进制数字的字符串,然后将其转换为十进制数后输出。如果在第一个十六进制字符之前存在字符“-”,则代表该数是负数。输入格式:
输入在一行中给出一个以#结束的非空字符串。输出格式:
在一行中输出转换后的十进制数。题目保证输出在长整型范围内。输入样例:
±P-xf4±1!# 输出样例: -3905 #include<stdio.h> int main() { int i=0,k=0,a=0,b=0,flag=1,j=0; long int number=0; char ch[100],ch1[100],ch2[100]={“abcdefABCDEF”}; ch[i]=getchar(); while(ch[i]!=’#’) { i++; ch[i]=getchar(); } ch[i]=’\0’; for(i=0;ch[i]!=’\0’;i++) { if(ch[i]>=‘0’&&ch[i]<=‘9’||ch[i]>=‘a’&&ch[i]<=‘f’||ch[i]>=‘A’&&ch[i]<=‘F’) { ch1[k]=ch[i]; k++; } } ch1[k]=’\0’; for(i=0;i<k;i++) { if(ch1[i]>=‘0’&&ch1[i]<=‘9’) { number=number16+ch1[i]-‘0’; } else if(ch1[i]>=‘a’&&ch1[i]<=‘f’) { number=number16+ch1[i]-‘a’+10; } else if(ch1[i]>=‘A’&&ch1[i]<=‘F’) { number=number*16+ch1[i]-‘A’+10; } } for(i=0;ch[i]!=’\0’;i++) { if(ch[i]= =’-’) { a=i; break; } } for(i=0;ch[i]!=’\0’;i++) { if(ch[i]>=‘0’&&ch[i]<=‘9’||ch[i]>=‘a’&&ch[i]<=‘f’||ch[i]>=‘A’&&ch[i]<=‘F’) { b=i; break; } } for(i=0;ch2[i]!=’\0’;i++) { for(j=0;ch1[j]!=’\0’;j++) { if(ch2[i]!=ch1[j]) { flag=0; break; } } if(flag= =0) break; } if(a<b&&flag==0) { printf("-"); } printf("%ld",number); return 0; }转载地址:https://dingshijie.blog.csdn.net/article/details/87260513 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
哈哈,博客排版真的漂亮呢~
[***.90.31.176]2024年04月12日 14时43分56秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Ubuntu 安装 NTP 服务
2019-04-30
NeoFetch - Linux 使用命令行查看系统信息
2019-04-30
Jenkins 控制台输出中的奇怪字符
2019-04-30
Linux添加系统调用
2019-04-30
ubuntu 18 CTF 环境搭建
2019-04-30
linux内存的寻址方式
2019-04-30
[off by null + tcache dup]lctf_easy_heap
2019-04-30
[pie+libc]national2021_pwny
2019-04-30
task_struct 结构分析
2019-04-30
Linux创建进程的源码分析
2019-04-30
ubunut16.04的pip3出现问题,重新安装pip3
2019-04-30
how2heap-double free
2019-04-30
how2heap-fastbin_dup_consolidate
2019-04-30
orw_shellcode_模板
2019-04-30
[fmt+shellcode]string
2019-04-30
fmt在bss段(neepusec_easy_format)
2019-04-30
[double free] 9447 CTF : Search Engine
2019-04-30
python 函数式编程
2019-04-30