题目地址:http://ac.jobdu.com/problem.php?cid=1040&pid=43
C语言源码:
#include<stdio.h>
#include<string.h>
int main()
{
int a,b,len,i,k,n;
char s[100];
while(scanf("%d %s %d",&a,s,&b)!=EOF)
{
len=(int)strlen(s);
n=0;
k=1;
for(i=len-1;i>=0;i--)
{
if(s[i]>='0'&&s[i]<='9')
n+=(s[i]-'0')*k;
else
if(s[i]>='A'&&s[i]<='Z')
n+=(s[i]-'A'+10)*k;
else
n+=(s[i]-'a'+10)*k;
k=k*a;
}
len=0;
if(n==0)
s[len++]='0';
else
while(n)
{
k=n%b;
if(k>=10)
s[len++]=k-10+'A';
else
s[len++]=k+'0';
n=n/b;
}
for(i=len-1;i>=0;i--)
printf("%c",s[i]);
printf("\n");
}
}
本文提供了一个使用C语言实现的进制转换程序代码。该程序可以读取用户输入的原始数值、进制类型和目标进制,并将原始数值从指定的进制转换到目标进制。代码中包含了字符串处理和数学运算,适用于学习C语言基本语法和进制转换逻辑。
364

被折叠的 条评论
为什么被折叠?



