c编程语言中的基转换



谁能指出这段代码有什么问题?我试图写一个简单的(不使用数组和类似的东西)程序,将转换为任何其他基数10的数字。我是初学者,我刚刚开始用c编程。

PS:正如您所看到的,我没有写任何可以反转结果的东西,并且我没有从编译器收到任何输出。

main()
{
    int a,b,c;
    printf("Please enter a number in base 10: ");
    scanf("%d",&a);
    printf("nPlease enter the base that you want the number to be converted to: ");
    scanf("%d",&b);
    do
    {
        c=a%b;
        printf("%d",c);
        a/=b;
    }while(c!=0);
}

将while循环更改为a != 0。你想循环,直到你把输入的数字减少到零。当第一个数字为0时,代码终止

转换为十进制:

#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#include<string.h>
#include<math.h>
main()
{
char input[23];
int sum;
int power;
int base;
int val;
int len;
gets(input);
strupr(input);
scanf("%d",&base);
len=strlen(input);
power=len-1;
for(int x=0;x<len;x++,power--)
{
        val=input[x]-48;
        if(val>9)
        val-=7; 
        sum+=val*pow(base,power);
}
printf("%d",sum);
}

相关内容

  • 没有找到相关文章

最新更新