作业帮 > 综合 > 作业

用C语言将k进制的数转换成10进制的 并输出最大的十进制数

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/11/08 21:38:38
用C语言将k进制的数转换成10进制的 并输出最大的十进制数
输入n个数,每个数的进制由其后面的数字k指定,k>=2且k
上面代码不是基本完成了吗

#include <stdio.h>
#include <string.h>
#include <stdlib.h>

int KToD(char str[],int k);
int main()
{
    int n,k,i,*a,max;
    char ch[64];
    scanf("%d",&n);
    fflush( stdin );

    a = (int*)malloc( sizeof(int)*n );

    for(i=0;i<n;i++)
    {
        memset( ch, 0, 64 );
        fscanf( stdin, "%s %d", &ch, &k );
        a[i] = KToD(ch,k);
    }
    max=a[0];
    for(i=1;i<n;i++)
        max=(max>a[i])? max:a[i];
    printf("%d\n",max);
    return 0;
}
int KToD(char str[],int k)
{
    int d,i;
    d=0;
    for(i=0;str[i]!=0;i++)
        d=d*k+(str[i]-'0');
    return d;
}
再问: 请问为什么要加一个 #include 头文件
再答: memset()函数是在string.h中