• 计算器


    #include <stdio.h>
    #include <math.h>
    void p1(int n)//10#->2#
    {
        int a[10],i=0;
    
    
        while(n!=0)
        {
            a[i++]=n%2;
            n=n/2;
        }
        for(i=i-1; i>=0; i--)
            printf("%d",a[i]);
        printf("
    ");
    }
    
    
    void p2(int n)//10#->8#
    {
        int a[10],i=0;
    
    
        while(n!=0)
        {
            a[i++]=n%8;
            n=n/8;
        }
        for(i=i-1; i>=0; i--)
            printf("%d",a[i]);
        printf("
    ");
    }
    
    
    void p3(int n)//10#->16#
    {
        int a[10],i=0;
    
    
        while(n!=0)
        {
            a[i++]=n%16;
            if(a[i-1]>=10)
                a[i-1]=a[i-1]-10+65;
            n=n/16;
        }
        for(i=i-1; i>=0; i--)
            if(a[i]>=10)
                printf("%c",a[i]);
            else
                printf("%d",a[i]);
        printf("
    ");
    }
    
    
    //////////////////////////////////////////////
    void q1()//2#->10#
    {
        int i,j,sum=0,n;
        char a[20];
        printf("请入入你要转换的数:
    ");
        scanf("%s",&a);
        for(i=0; a[i]!=''; i++)
        {
            sum=sum*2+a[i]-'0';
        }
        printf("%d
    ",sum);
    
    
    }
    void q2()//8#->10#
    {
    
    
        int i=0,j,sum,a[10],n;
        printf("请入入你要转换的数:
    ");
        scanf("%d",&n);
        while(n!=0)
        {
            a[i++]=n%10;
            n=n/10;
        }
    
    
        sum=0;
        j=i;
        for(i=0; i<j; i++)
            sum+=(int)pow(8,i)*a[i];
    
    
        printf("%d
    ",sum);
    }
    
    
    void q3()//16#->10#
    {
        int i=0,sum=0;
        char b[20];
        printf("请输入要转换的数:
    ");
        scanf("%s",&b);
    
    
        for(i=0; b[i]!=''; i++)
        {
            if(b[i]>='A'&&b[i]<='F')
                sum=sum*16+b[i]-55;
            else
                sum=sum*16+b[i]-'0';
        }
    
    
        printf("%d
    ",sum);
    }
    ///////////////////////////////////////////////////
    int main()
    {
        int n,m,a;
        printf("---------------计算器------------------
    ");
        printf("请选择:
    ");
        printf("1、10#->2#、10#->8#、10#->16#
    2、2#->10#、8#->10#、16#->10#
    ");
        scanf("%d",&n);
        if(n==1)
        {
            printf("请选择:
    1、10#->2#	2、10#->8#	3、10#->16#
    ");
            scanf("%d",&m);
            printf("请输入一个十进制数:
    ");
            scanf("%d",&a);
            switch(m)
            {
            case 1:
                p1(a);
                break;
            case 2:
                p2(a);
                break;
            case 3:
                p3(a);
                break;
            default:
                printf("输入错误!
    ");
            }
        }
        else if(n==2)
        {
            printf("请选择:
    1、2#->10#	2、8#->10#	3、16#->10#
    ");
            scanf("%d",&m);
            switch(m)
            {
            case 1:
                q1();
                break;
            case 2:
                q2();
                break;
            case 3:
                q3();
                break;
            default:
                printf("输入错误!
    ");
            }
        }
        else
            printf("输入错误!
    ");
    
    
        return 0;
    }

  • 相关阅读:
    UICollectionView中使用 UICollectionViewFlowLayout进行布局(模仿苹果相册)
    使用CocoaPods被卡住:Updating local specs repositories
    【原】iOS 同时重写setter和getter时候报错:Use of undeclared identifier '_name';did you mean 'name'
    iOS 设置不同的字体颜色
    使用java代码,动态给TextView设置drawable
    格式化浮点数(保留指定位数)
    监听输入法的出现和隐藏
    dp和px的转换
    获取状态栏高度
    获取在attr.xml中声明的主题样式
  • 原文地址:https://www.cnblogs.com/qie-wei/p/10160273.html
Copyright © 2020-2023  润新知