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 ...
随机推荐
- Hibernate 抓取策略fetch-2 (批量抓取batch-size以及hibernate.jdbc.fetch_size、hibernate.jdbc.batch_size)
类关系: User N~1 Group 测试代码: System.out.println("1"); List stuList = session.createQuery(&quo ...
- js 日期时间比较
js时间日期比较 <script type="text/javascript"> //begin > end 返回True function comptime(b ...
- 解决SQLite3数据库Error: database disk image is malformed
这种错误的提示一般都是数据库文件出现了问题,具体导致问题的原因不必深究,我们只讨论这种问题的饿解决方法: 比如数据库:test.db 这里还要分两种情况: 情况一: sqlite3 test.db & ...
- 借助HTML分别禁用IE8, IE9的兼容视图模式的小技巧
IE 添加了兼容模式,开启后会以低一版本的 IE 进行渲染,但是我就遇到了一种情况,在 IE8 下只有不使用兼容模式页面才能显示正常,下面有个不错的方法可以解决这个问题 从 IE 8 开始,IE 添加 ...
- android学习笔记九——RatingBar
RatingBar==>星级评分条 RatingBar和SeekBar十分相似,它们甚至有相同的父类:AbsSeekBar.两者都允许用户通过拖动来改变进度: 两者最大的区别在于RatingBa ...
- 通过[蜘蛛协议]Robots.txt禁止搜索引擎收录的方法
什么是robots.txt文件? 搜索引擎通过一种程序robot(又称spider),自动访问互联网上的网页并获取网页信息. 您可以在您的网站中创建一个纯文本文件robots.txt,在这个文件中 ...
- PLSQL_性能优化系列15_Oracle Explain Plan解析计划解读
2014-12-19 Created By BaoXinjian
- reduce的数目到底和哪些因素有关
reduce的数目到底和哪些因素有关 1.我们知道map的数量和文件数.文件大小.块大小.以及split大小有关,而reduce的数量跟哪些因素有关呢? 设置mapred.tasktracker. ...
- Error: L6218E: Undefined symbol TIM_ARRPreloadConfig (referred from pwm_output.o).
出错原因:模板FWLIB中没有添加stm32f10x_tim.c文件.添加即可 一般利用库开发,将ppp.c(ppp.c又调用了库stm32f10x_xx.h)写好之后的调用步骤: 1 将ppp.c和 ...
- haxm intelx86加速模拟器的安装
http://blog.csdn.net/huang9012/article/details/18082601 如果安装了还出现 创建模拟器 选项 CPU/abi的时候还出现 no system im ...