ZOJ Problem Set - 1334 Basically Speaking ac代码及总结
2013-10-04 20:52
260 查看
这道题目不难,是一道简单的进制转换问题,但是发现了自己两个遗漏的知识点:
1.关于scanf
(1)scanf函数在输入时是以回车或者空格作为一次输入的结束
(2)scanf函数在输入字符串的过程中是不吸纳空格的,而且如果输入是整数或者浮点数,前面的空格对输入没有影响,如下:
如上面这段代码,如果给定输入为:" ACM ACM 1 2 "
则输出为:"ACMACM12"
2.关于gets
(1)gets函数是可以吸纳空格的
(2)如果利用gets读取文件中的字符串,可以利用如下代码作为结束:
3.关于reverse函数,特别标注下,以前用过后来忘掉了,在algorithm中
下面是ac代码
关于进制转换的方法:统一转换为10进制然后取余得到每一位,至于怎样把其它进制转换到十进制,见上面代码(是个基本问题不多解释了)
1.关于scanf
(1)scanf函数在输入时是以回车或者空格作为一次输入的结束
(2)scanf函数在输入字符串的过程中是不吸纳空格的,而且如果输入是整数或者浮点数,前面的空格对输入没有影响,如下:
char s1[100],s2[100]; int a,b; scanf("%s%s%d%d",s1,s2,a,b); printf("%s%s%d%d",s1,s2);
如上面这段代码,如果给定输入为:" ACM ACM 1 2 "
则输出为:"ACMACM12"
2.关于gets
(1)gets函数是可以吸纳空格的
(2)如果利用gets读取文件中的字符串,可以利用如下代码作为结束:
while(gets(str)!=NULL) {}
3.关于reverse函数,特别标注下,以前用过后来忘掉了,在algorithm中
下面是ac代码
#include <cstdio> #include <iostream> #include <cstring> #include <cmath> #include <algorithm> using namespace std; int main() { char src[100]; int base1,base2; while(scanf("%s%d%d",src,&base1,&base2)!=EOF) { int i,len=strlen(src),sum=0; for(i=0;i<len;i++) { if(src[i]>='0'&&src[i]<='9') sum=sum*base1+src[i]-'0'; else sum=sum*base1+src[i]-55; } i=0; while(sum) { int t=sum%base2; if(t<10) src[i++]=t+'0'; else src[i++]=t+55; sum/=base2; } if(i>7) printf(" ERROR\n"); else { while(i<7) { src[i++]=' '; } reverse(src,src+i); src[i]='\0'; printf("%s\n",src); } } return 0; }
关于进制转换的方法:统一转换为10进制然后取余得到每一位,至于怎样把其它进制转换到十进制,见上面代码(是个基本问题不多解释了)
相关文章推荐
- ZOJ Problem Set - 1350 The Drunk Jailer ac代码 memset
- ZOJ Problem Set - 1338 Up and Down Sequences 解释 ac代码
- 龙哥牛b代码!ZOJ Problem Set - 1649 Rescue
- ZOJ Problem Set - 2723 Semi-Prime(ac,但有一点想不通)
- ZOJ Problem Set - 1847 The Trip
- ZOJ Problem Set - 1241 Geometry Made Simple
- ZOJ Problem Set - 1048||Financial Management
- ZOJ Problem Set - 2850 Beautiful Meadow
- ZOJ Problem Set - 1045 & ZOJ Problem Set - 1048
- ZOJ Problem Set - 1188 DNA Sorting
- ZOJ Problem Set - 3661 Palindromic Substring
- ZOJ Problem Set - 1365 Mileage Bank
- ZOJ Problem Set - 1115
- ZOJ Problem Set - 1003 Crashing Balloon
- ZOJ Problem Set - 1005 Jugs
- ZOJ Problem Set - 2478 Encoding
- ZOJ Problem Set - 1200 (Mining)
- ZOJ Problem Set - 3962 Seven Segment Display
- ZOJ Problem Set–1251 Box of Bricks
- ZOJ Problem Set - 1201 Inversion