strtol函数
今天做啦一个进制转换的题,改来改去最终倒是过啦,本来挺开心的,然后去翻啦一下题解,瞬间就有小情绪啦,哎,人家的代码辣么辣么短,实在是不开心,不过谁让咱是小渣渣呢,在此总结一下strtol 函数。
先来看看把我整不开心的这道题
Hrbust1896 http://acm.hrbust.edu.cn/index.php?m=ProblemSet&a=showProblem&problem_id=1896
题目简单,只要足够细心就能AC的
看我自己的代码
- #include<stdio.h>
- #include<iostream>
- #include<algorithm>
- #include<string.h>
- #include<stack>
- #include<math.h>
- using namespace std;
- int main()
- {
- int n,m;
- char s[];
- while(~scanf("%d%s",&n,&s)){
- int t=;int ss[];
- int len=strlen(s);
- for(int i=;i<len;i++){
- if(s[i]=='a'||s[i]=='A')ss[t++]=;
- else if(s[i]=='b'||s[i]=='B')ss[t++]=;
- else if(s[i]=='c'||s[i]=='C')ss[t++]=;
- else if(s[i]=='d'||s[i]=='D')ss[t++]=;
- else if(s[i]=='e'||s[i]=='E')ss[t++]=;
- else if(s[i]=='f'||s[i]=='F')ss[t++]=;
- else {ss[t++]=s[i]-'';
- }
- }
- int sum=;int j=;
- for(int i=t-;i>=;i--){
- sum+=ss[i]*pow(n,j++);
- }
- cout<<sum<<endl;
- }
- }
至于我发现的很牛很短的代码是这个样子的
- #include <stdio.h>
- #include <iostream>
- #include <string.h>
- #include <math.h>
- #include <stdlib.h>
- using namespace std;
- int main()
- {
- int m;//base(代表进制)
- char n[];//char*nptr
- while(~scanf("%d %s",&m,&n))
- {
- printf("%d\n",strtol(n,NULL,m));
- //必须设定endptr为NULL 否则返回非法字符串
- }
- }
里面的注释是大神打上去的。。。
嘎嘎嘎,罪魁祸首就是strtol这个函数,不过他真的太方便啦嘿嘿
long int strtol(const char *nptr, char **endptr, int base)
*nptr指向的是在不同的进制下数的表示的字符串,base则为进制,char **endptr一般为空。
strtol函数的更多相关文章
- strtol函数 将字符串转换为相应进制的整数
转自http://hi.baidu.com/qwpsmile/blog/item/9bc44efa4f41018a9f514637.html +----------------+| strt ...
- POJ1331 Multiply(strtol函数练习)
题目链接:http://poj.org/problem?id=1331 主要介绍strtol函数: long int strtol(const char *nptr,char **endptr,int ...
- 浅析C语言中strtol()函数与strtoul()函数的用法
转自:http://www.jb51.net/article/71463.htm C语言strtol()函数:将字符串转换成long(长整型数) 头文件: ? 1 #include <stdli ...
- strtol 函数用法
strtol是一个C语言函数,作用就是将一个字符串转换为长整型long,其函数原型为: long int strtol (const char* str, char** endptr, int bas ...
- strtol()函数
#include <stdlib.h>#include <stdio.h> int main(){ char a[] = "100"; char b[] = ...
- strtol函数的用法——字符串转长整形
/* strtol example */ #include <stdio.h> /* printf */ #include <stdlib.h> /* strtol */ in ...
- string.h文件中函数用法
下面为string.h文件中函数的详细用法: strcpy函数名:strcpy功 能: 拷贝一个字符串到另一个用 法: char *strcpy(char *destin, char *source) ...
- C字符串处理函数
部分参考百科. C常用字符串函数:字符串输入函数,字符串输出函数,字符串处理函数,标准输入输出流 字符串处理函数: 1.字符串长度:strlen(str),返回字符串实际长度,不包括'\0',返回值类 ...
- strtol详解
文章装载自:http://blog.csdn.net/happylife1527/article/details/8441799,大家看到这篇文章想转载的请注明出处,尊重原作者劳动成果. 今天,在re ...
随机推荐
- struts checkbox选中
<input type="checkbox" id="something" name="something" /> ↓ < ...
- @GeneratedValue - fancychendong的专栏 - 博客频道 - CSDN.NET
登录|注册 收藏成功 确定 收藏失败,请重新收藏 确定 标题 标题不能为空 网址 标签 摘要 公开 取消收藏 分享资讯 传PPT/文档 提问题 写博客 传资源 创建项目 创建代码片 设置昵称编辑自我介 ...
- vmware在非正常关机后无法启动虚拟机
昨天使用vmware,由于笔记本温度过高,系统自动断电,导致实体机非正常关机.然后发现vmware无法启动虚拟机了,提示为‘This virtual machine appears to be in ...
- 使用express搭建第一个Web应用【Node.js初学】
来源:http://jingyan.baidu.com/article/bad08e1ee501e009c8512106.html express是一个开源的node.js项目框架,初学者使用expr ...
- activiti自定义流程之Spring整合activiti-modeler5.16实例(五):流程定义列表
注:(1)环境搭建:activiti自定义流程之Spring整合activiti-modeler5.16实例(一):环境搭建 (2)创建流程模型:activiti自定义流程之Spring ...
- Hbase伪分布式
其实我就是要让数据存储在hdfs上而已........ 多配置点东西就好了,在hbase-site.xml中加入: <configuration> <property> < ...
- POJ 2393 贪心 简单题
有一家生产酸奶的公司,连续n周,每周需要出货numi的单位,已经知道每一周生产单位酸奶的价格ci,并且,酸奶可以提前生产,但是存储费用是一周一单位s费用,问最少的花费. 对于要出货的酸奶,要不这一周生 ...
- 为FaceBook审核提交模拟器包及自己验证模拟器包
为FaceBook审核提交模拟器包及自己验证模拟器包折腾了一番,因为我的项目是用cocoapods管理的,所以跟普通直接运行name.xcodeproj项目有所不同. 切入正题 1.先设置 relea ...
- Vim 中截取部分内容保存到其他文件
最近无聊,突然想跟着玩玩天池数据挖掘,发现数据好大,想转换到mysql数据库,phpmyadmin import 导入时抱错! 数据文件大大! 于是乎,准备截取一小段到另外一个文件测试先,然后,发现了 ...
- ios模拟器未能安装此应用程序
网上介绍了很多方法,觉得有些不太靠谱.这里只解释我试验过的最简单最粗暴的方法: 删除模拟器上旧的APP 以外,也可以做 CLEAN (cmd+shift+K) 把旧的build 删掉.