回 帖 发 新 帖 刷新版面

主题:进制任意转换的,请问高手哪里错了

#include<stdio.h>
main()
{
    int f(int x,int y);
    int a[10]={0},a1,b1,b2,c,b[10]={0},k,i,sum;
    printf("请输入要输入的数和该数的进制和你想要转化的进制");
    scanf("%d%d%d",&a1,&b1,&b2);
    for(i=0;(c=a1/f(10,i))==0;i++)
        a[i]=c%10;
    for(i=0;(c=a1/f(10,i))==0;i++)
        sum+=a[i]*f(b1,i);
    for(i=0;(c=sum/f(b2,i))==0;i++) 
        b[i]=c%b2;
    for(i=0;(c=sum/f(b2,i))==0;i++)
        sum+=a[i]*f(10,i);
    printf("%d",sum);
    return 0;
}
int f(int x,int y)
{
    int j,sum;
    sum=1;
    for(j=0;j<y;j++)
        sum=sum*x;
    return(sum);
}

回复列表 (共6个回复)

沙发

先不说别的,如果我想输入16进制咋输入?

板凳

先输入一个数,再输入该数的进制,再输入你想要进制
 printf("请输入要输入的数和该数的进制和你想要转化的进制");

3 楼

我输入16进制的数据你的scanf能读上来?18进制呢、24进制呢?

4 楼

= =且不说16进制,我看了开头的,就发现C木有给初值。

5 楼

[quote]= =且不说16进制,我看了开头的,就发现C木有给初值。[/quote]
C可以不賦初值,因為已經在循環那兒賦值了。

6 楼


嗯,看到了。谢谢

我来回复

您尚未登录,请登录后再回复。点此登录或注册