用C语言将k进制的数转换成10进制的 并输出最大的十进制数
来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/11/08 21:38:38
用C语言将k进制的数转换成10进制的 并输出最大的十进制数
输入n个数,每个数的进制由其后面的数字k指定,k>=2且k
输入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中
#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中
用C语言将k进制的数转换成10进制的 并输出最大的十进制数
c语言 将十进制数用算法转换成其它进制
输入一个十进制的正整数,将该数转换成n进制数,并输出.
用c语言编写一个将十六进制数转换为十进制数的程序
进制转换,请将一个n进制的数转换成m进制的数,并输出.
给定程序的功能是将十进制正整数m转换成k进制的数字输出
用C语言比较三个数的大小并输出最大的那个数
C语言找错误,(2)以下程序的功能是:从键盘输入一个三位的八进制正整数,然后将其转换为对应的十进制数并输出.请改正其中的
编程实现如何将一个十进制的整数转换成二进制的数输出.
栈的简单应用:数制转换问题(将十进制数N转换为r进制的数) 将十进制数N转换为r进制的数,其转换方法利用
C语言 依次将10个数输入,要求将其中最大的数输出.
c语言把二进制数转换成十进制数的程序怎么写.