设计一个C语言程序, 输入一个四则运算的表达式,在输入 = 后自动输出结果
2个回答
展开全部
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int main(void)
{
float a,b,f;
int ctl=0,p;
char Cflag='Y';
char c;
char sa[10],sb,sc[10];
while((Cflag == 'Y') || (Cflag == 'y') )
{
for(p=0;p<10;p++) sa[p]='\0';
sb='\0';
for(p=0;p<10;p++) sc[p]='\0';
p=0;
ctl=1;
printf("加、减、乘、除四则运算算式:\n");
scanf("%c", &c);
while(c!='\n')
{
if (c>='0' && c<='9' || c=='.')
{
if ( ctl==1 ) sa[p]=c;
if ( ctl==2 ) sc[p]=c;
p++;
}else if ( c=='+'||c=='-'||c=='*'||c=='/')
{
ctl=2;
sa[p]='\0';
sb=c;
p=0;
}
scanf("%c", &c);
}
sc[p]='\0';
//printf("[%s%c%s]",sa,sb,sc);
a=atof(sa);
b=atof(sc);
switch(sb)
{
case '+':
f=a+b;
break;
case '-':
f=a-b;
break;
case '*':
f=a*b;
break;
case '/':
f=a/b;
break;
defalt:
;
}
printf("[%.2f%c%.2f]=%.2f",a,sb,b,f);
printf("\n是否继续计算(Y/N)?");
scanf("%c", &Cflag);
getchar();
}
}
#include<stdlib.h>
#include<math.h>
int main(void)
{
float a,b,f;
int ctl=0,p;
char Cflag='Y';
char c;
char sa[10],sb,sc[10];
while((Cflag == 'Y') || (Cflag == 'y') )
{
for(p=0;p<10;p++) sa[p]='\0';
sb='\0';
for(p=0;p<10;p++) sc[p]='\0';
p=0;
ctl=1;
printf("加、减、乘、除四则运算算式:\n");
scanf("%c", &c);
while(c!='\n')
{
if (c>='0' && c<='9' || c=='.')
{
if ( ctl==1 ) sa[p]=c;
if ( ctl==2 ) sc[p]=c;
p++;
}else if ( c=='+'||c=='-'||c=='*'||c=='/')
{
ctl=2;
sa[p]='\0';
sb=c;
p=0;
}
scanf("%c", &c);
}
sc[p]='\0';
//printf("[%s%c%s]",sa,sb,sc);
a=atof(sa);
b=atof(sc);
switch(sb)
{
case '+':
f=a+b;
break;
case '-':
f=a-b;
break;
case '*':
f=a*b;
break;
case '/':
f=a/b;
break;
defalt:
;
}
printf("[%.2f%c%.2f]=%.2f",a,sb,b,f);
printf("\n是否继续计算(Y/N)?");
scanf("%c", &Cflag);
getchar();
}
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询