1143: 最大值—多种进制
题目描述
## 输入n个数,每个数的进制由其后面的数字k指定,k>=2且k<=10, 输出最大的数对应的十进制数。 要求程序定义一个KTod()函数和一个main()函数,KToD() 函数的功能是将k进制数转化为十进制整数,其余功能在main()函数中实现。
```c int KToD(char str[], int k) { //函数返回k进制数str对应十进制整数 }
#include<stdio.h>
#include<string.h>
#include<ctype.h>
int KTod(char c[],int k)
{
int i=0,n=0,num=0,ci=1;
n=strlen(c);
for(i=n-1;i>=0;i--)
{
num+=(c[i]-48)*ci;
ci*=k;
}
return num;
}
int main()
{
char c[1000];
int n,i,k,max;
scanf("%d",&n);
char ch;
ch=getchar();
for(i=1;i<=n;i++)
{
if(i==1)
{
scanf("%s %d",c,&k);
max=KTod(c,k);
}
else
{
scanf("%s %d",c,&k);
if(max<KTod(c,k))
{
max=KTod(c,k);
}
}
}
printf("%d",max);
}