c语言多功能简易计算机,简易多功能计算器C语言初级

学了一些C语言基础 写个代码检测一下 for fun

#include "stdio.h"

#include "string.h"

#include

int n2(int n) //2的n次方

{

long a=1;

int i;

for(i=0;i

return(a);

}

int n8(int n) //8的n次方

{

long a=1;

int i;

for(i=0;i

return(a);

}

int n10(int n) //10的n次方

{

long a=1;

int i;

for(i=0;i

return(a);

}

int n16(int n) //16的n次方

{

long a=1;

int i;

for(i=0;i

return(a);

}

wei(long s) //判断为几位数?

{

int n=0;

while(s>0)

{

s=s/10;

n++;

}

return(n);

}

void c1() //计算器

{

float a,b,c;

char v;

printf("请输入:");

scanf("%f%c%f",&a,&v,&b);

switch(v)

{

case '+':c=a+b;break;

case '-':c=a-b;break;

case '*':c=a*b;break;

case '/':if(b!=0) c=a/b; else printf("eeerrroorrr");break;

}

printf("%0.0f%c%0.0f=%f\n",a,v,b,c);

printf("\n按w进入上级菜单 按q退出");

}

void ca() //二进制转十进制

{

long bin,dec=0;

int N,i=0,a[8]={0,0,0,0,0,0,0,0};

scanf("%ld",&bin);

do

{

N=wei(bin);

a[i]=(bin/n10(N-1))*n2(N-1);

bin=bin%n10(N-1);

i++;

}while(N>0);

for(i=0;i<8;i++)

dec+=a[i];

printf("%ld\n",dec);

printf("\n按w进入上级菜单 按q进入主菜单:");

}

void cb() //八进制转十进制

{

long oct,dec=0;

int N,i=0,a[8]={0,0,0,0,0,0,0,0};

scanf("%ld",&oct);

do

{

N=wei(oct);

a[i]=(oct/n10(N-1))*n8(N-1);

oct=oct%n10(N-1);

i++;

}while(N>0);

for(i=0;i<8;i++)

dec+=a[i];

printf("%ld\n",dec);

printf("\n按w进入上级菜单 按q进入主菜单:");

}

void cc() //16进制转十进制

{

char hex[30],h[30];

long dec=0;

int i=0,l=0;

static int b[30],s[30];

scanf("%s",hex);

strcpy(h,hex);

for(;h[i]!='\0';i++) l++;

for(i=0;i

switch(hex[i])

{

case '0':b[i]=0;break;

case '1':b[i]=1;break;

case '2':b[i]=2;break;

case '3':b[i]=3;break;

case '4':b[i]=4;break;

case '5':b[i]=5;break;

case '6':b[i]=6;break;

case '7':b[i]=7;break;

case '8':b[i]=8;break;

case '9':b[i]=9;break;

case 'A':b[i]=10;break;

case 'B':b[i]=11;break;

case 'C':b[i]=12;break;

case 'D':b[i]=13;break;

case 'E':b[i]=14;break;

case 'F':b[i]=15;break;

case 'a':b[i]=10;break;

case 'b':b[i]=11;break;

case 'c':b[i]=12;break;

case 'd':b[i]=13;break;

case 'e':b[i]=14;break;

case 'f':b[i]=15;break;

}

for(i=0;i

{

s[i]=b[i]*n16(l-i-1);

dec+=s[i];

}

printf("%ld\n",dec);

printf("\n按w进入上级菜单 按q进入主菜单:");

}

void c3()

//算天数

{

long a,b,sum;

int a0,b0,a1,b1,as,bs;

int i,j=0,k=0,month[]={31,0,31,30,31,30,31,31,30,31,30,31};

printf("请输入出生

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值