计算器.c

来自「自己看下吧」· C语言 代码 · 共 100 行

C
100 行
字号
#include<stdio.h> 
#include<math.h> 
void main() 
{ 
float a,b,sum; //定义a,b为输入;sum为输出 
char x,c,e,d; //x为运算符,c,d用于菜单选择字符,e用来接收回车字符 
m: 
for(;;) 
{ 
printf("请输入\n"); 
scanf("%f%c%f",&a,&x,&b); 
if(x=='/') //当X为除法时,分两种情况,b为0和非0 
{ 
if(b==0) 
printf("输入错误\n"); 
else 
printf("%f\n",a/b); 
} 
else 
{ 
switch(x) 
{ 
case'*':printf("sum=%f\n",sum=a*b);break; 
case'+':printf("sum=%f\n",sum=a+b);break; 
case'-':printf("sum=%f\n",sum=a-b);break; 
default:printf("error\n"); 
} 
} 
e=getchar(); //接受回车 

printf("清零,选择【A】\n"); //选择菜单 
printf("继续,选择【C】\n"); 
printf("退出,选择【E】\n"); 

scanf("%c",&c); 
if(c=='a'||c=='A') 
{ 
sum=0; 
printf("sum=0\n"); 
e=getchar(); 
continue; //回到最初循环开始 
} 
if(c=='e'||c=='E') 
{ 
e: 
printf("感谢您的使用\n"); 
break; //结束循环,跳出程序 
} 
if(c=='c'||c=='C') 
{ 
for(;;) //保留sum的值,继续运算 
{ 
printf("请继续输入\n"); 
printf("sum=%f\n",sum); 
e=getchar(); 
scanf("%c%f",&x,&b); 

if(x=='/') 
{ 
if(b==0) 
printf("输入错误\n"); 
else 
printf("%f\n",sum/b); 
} 
else 
{ 
switch(x) 
{ 
case'*':printf("sum=%f\n",sum=sum*b);break; 
case'+':printf("sum=%f\n",sum=sum+b);break; 
case'-':printf("sum=%f\n",sum=sum-b);break; 
default:printf("error\n"); 
} 
} 
e=getchar(); 
printf("清零,选择【A】\n"); 
printf("继续,选择【C】\n"); 
printf("退出,选择【E】\n"); 
scanf("%c",&d); 
if(d=='a'||c=='A') 
{ 
sum=0; 
printf("sum=0\n"); 
e=getchar(); 
goto m; //回到主函数 
} 
if(d=='c'||c=='C') 
{ 
continue;//循环重新开始 
} 
if(d=='e'||c=='E') 
goto e;//回到退出的循环 


} 

} 
} 
} 

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?