c语言编程简单计算器问题

大神帮忙看看,乘法和除法中的“C”不能用#include<stdio.h>#include<stdlib.h>voidsum(){doubles,a,c=0;charb;... 大神帮忙看看,乘法和除法中的“C”不能用

#include<stdio.h>
#include<stdlib.h>
void sum(){
double s,a,c=0;
char b;
s=a=0;
while(1){
scanf("%s",&b);
if(b=='=') break;
else if(b=='A') {s=0,a=0; continue;}
else if(b=='C') {s-=c;}
a=atof(&b);
c=a;
s+=a;}
printf("%lf\n",s);}
void dec()
{double s,a=0,c=0;
char b;
scanf("%lf",&s);
while(1){ scanf("%s",&b);
if(b=='=') break;
if(b=='A') {s=0,a=0; continue;}
if(b=='C') {s+=c;}
a=atof(&b);
c=a;
s-=a;}
printf("%lf\n",s);}
void mcl(){double s=1,a=1,c=1;
char b;
while(1){
scanf("%s",&b);
if(b=='=') break;
if(b=='A') {s=0,a=0; continue;}
if(b=='C') {s=1.0*s/c;}
a=atof(&b);
c=a;
s*=a;}printf("%lf\n",s);}
void ave(){double s,a=1,c=1;
char b;
scanf("%lf",&s);
while(1){
scanf("%s",&b);
if(b=='=') break;
if(b=='A') {s=0,a=0; continue;}
if(b=='C') {s*=c;}
a=atof(&b);
c=a;
s/=a;}
printf("%lf\n",s);}
int main (){
char i,j;
printf("是否使用计算器?Y/N\n");
scanf("%s",&i);
while(i=='y' || i=='Y'){
printf("请选择你所需要进行的运算类型:\n");
scanf("%s",&j);
switch(j){
case '+': sum(); break;
case '-': dec(); break;
case '*': mcl(); break;
case '/': ave(); break;
default : printf("请输入正确的运算类型。\n"); break;}
printf("是否继续使用计算机?Y/N\n");
scanf("%s",&i);}
}
展开
 我来答
野人无事不言L
2016-03-08 · TA获得超过1414万个赞
知道顶级答主
回答量:2242万
采纳率:0%
帮助的人:176.9亿
展开全部
#include<stdio.h> int main() { int i,i1,i2,num; while(true) { printf("\n"); printf("\n"); printf(" *********************\n"); printf(" * *\n"); printf(" * 常规计算器 *\n"); printf(" * *\n"); printf(" *********************\n"); printf(" 请选择你要进行的计算:\n"); printf(" 1.常规计算<加减乘除..>\n"); printf(" 2.退出\n"); printf("请输入你的选择:\n"); scanf("%d",&i); if(!(i > 0&&i < 3)) { if(i==1) { while(true) { system("cls"); printf("\n"); printf("\n"); printf(" 1.加\n"); printf(" 2.减\n"); printf(" 3.乘\n"); printf(" 4.除\n"); printf(" 5.取模\n"); printf(" 6.返回\n"); printf(" 7.退出\n"); printf("请输入你的选择:\n"); scanf("%d",&i); if(!(i >0 &&i<7)) { if(i==1) { printf("输入2个数字, 用空格隔开: "); scanf("%d %d", &i1, &i2); num = i1+i2; printf("结果为%d\n", num); } else if(i==2) { printf("输入2个数字, 用空格隔开: "); scanf("%d %d", &i1, &i2); num = i1-i2; printf("结果为%d\n", num); } else if(i==3) { printf("输入2个数字, 用空格隔开: "); scanf("%d %d", &i1, &i2); num = i1*i2; printf("结果为%d\n", num); } else if(i==4) { printf("输入2个数字, 用空格隔开: "); scanf("%d %d", &i1, &i2); num=i1/i2; printf("结果为%d\n", num); } else if(i==5) { printf("输入2个数字, 用空格隔开: "); scanf("%d %d", &i1, &i2); num=i1%i2; printf("结果为%d\n", num); }else if(i==6) { break; }else if(i==7) { return 0; } else { printf("输入有误,请重试!"); } } } } else if(i==2) { return 0; } else { printf("请重新选择:"); } } } } 加了两个while 和两个if if(!(i > 0&&i < 3)); 要去掉 “;” if(!(i >0 &&i<7)); 去掉“;” 加了 else if(i==6) { break; }else if(i==7) { return 0; }
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
意法半导体(中国)投资有限公司
2023-06-12 广告
要入门STM32单片机,可以按照以下步骤进行学习:1. 首先学习51单片机,了解其基本结构和特点。2. 学习STM32的内部架构,了解其核心部件如何与外设连接。3. 学习STM32的寄存器和总线结构,理解如何使用寄存器来控制外设。4. 编写... 点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式