进制转换(字符串问题)
2014-10-16 11:29
169 查看
1.进制转换(jinzhi.cpp /jinzhi.in /jinzhi.out)
题目描述 设有一个字符串A的结构为: A="m<n>p" 其中m为数字串(长度<=20),而n,p均为1或2位的数字串(其中所表达的内容在2-10之间)。 程序要求:从键盘上读入A后(不用正确性检查),将A中的数字串m(n进制),以p进制的形式输出。 输入格式 A="48<10>8" 其意义为:将10进制数48,转换成8进制数输出。 输出格式 输出结果为:48<10>=60<8> 输入样例 101<2>10 输出样例 101<2>=5<10> 时间限制 各个测试点1s
#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<cstring>
using namespace std;
char c[100]={0};
int main()
{freopen("jinzhi.in","r",stdin);
freopen("jinzhi.out","w",stdout);
charx[10];
inty[10];
inta,b,l,t1=0,t2=0;
scanf("%s",c);
sscanf(c,"%[^<]<%d>%d",x,&a,&b);//sscanf函数 %[^<]的作用是读取字符串^是遇到什么为止字符串处理经典转换
// printf("%d%d %d",x,a,b);
l=strlen(x);
intr=1;
for(inti=l-1;i>=0;i--)//求出十进制
{
t1+=(x[i]-'0')*r;
//cout<<int(x[i]-'0')<<endl;
r*=a;
}//cout<<t1;
intt=0;
while(t1)//辗转除变为b进制
{
y[t++]=t1%b;
t1/=b;
}
//for(inti=t-1;i>=0;i--)
// cout<<y[i];
printf("%s<%d>=",x,a);
for(int i=t-1;i>=0;i--)
cout<<y[i];
cout<<"<"<<b<<">";
相关文章推荐
- 编程经验点滴(一)——《C 语言中定义字符串的问题》
- JAVA与C++::关于JNI中文字符串操作问题总结
- 字符串处理:中英文混排固定长度截取问题
- 拆字符串问题
- 字符串、汉字的拆分问题的解法
- VC中一个关于宏的使用问题,字符串之间转换,宽字符与普通字符
- Oracle函数返回超长字符串问题
- PHP截取中文字符串的问题
- Enterprise Library- Data Block使用oracle存储过程,字符串参数传入值为""时出现问题的解决
- 安全字符串 SecureString 的设计与实现 [1] 现有问题与解决方法
- 用正则表达式处理含中文字符串的问题
- 含有中文字符串的截取问题!
- 字符串处理路径问题
- 旧话重提---使用FxCop检测出字符串相关的2个问题
- 字段里字符串的处理问题
- 关于char数组和字符串的一些问题
- Java与C之间通过JNI传递中文字符串及乱码问题
- 旧题新貌:PHP截取中文字符串的问题
- 使用hibernate心得——字符串超长的解决办法(setCharacterStream出现顺序问题)
- 字符串、汉字的拆分问题的解法