学了一些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("请输入出生