#include<stdio.h>
int main()
{
char command_begin;
double first_number;
char character;
double second_number;
double value;
printf("简单计算器程序\n---------\n");
printf("在'>'提示后输入一个命令字符\n");
printf("是否开始?(Y/N)>");
scanf("%c",&command_begin);
while (command_begin=='Y'||command_begin=='y')
{
/* 当接受Y/y命令时执行计算器程序*/
printf("请输入一个简单的算式:");
scanf("%1f%c%1f",&first_number,&character,&second_number);/* 输入一个算式,如3+5*/
switch(character)
{
case'+':
value=first_number+second_number;
printf("等于%1f\n",value);
break;
case'-':
value=first_number-second_number;
printf("等于%1f\n",value);
break;
case'*':
value=first_number*second_number;
printf("等于%1f\n",value);
break;
case'/':
while(second_number==0)
{
printf("除数为零,请输入一个算式:");
scanf("%1f%c%1f",&first_number,&character,&second_number);
}
value=first_number/second_number;
printf("等于%f\n",value);
break;
default:
printf("非法输入!\n");
}
printf("是否继续运算?(Y/N>)");
fflush(stdin);
scanf("%c",&command_begin);
}
printf("程序退出!\n");
}
scanf里面是%lf不是%1f ,是字母l,不是数字1,%lf表示double类型
#include<stdio.h>
int main()
{
char command_begin;
double first_number;
char character;
double second_number;
double value;
printf("简单计算器程序\n---------\n");
printf("在'>'提示后输入一个命令字符\n");
printf("是否开始?(Y/N)>");
scanf("%c",&command_begin);
while (command_begin=='Y'||command_begin=='y')
{
/* 当接受Y/y命令时执行计算器程序*/
printf("请输入一个简单的算式:");
scanf("%lf%c%lf",&first_number,&character,&second_number);/* 输入一个算式,如3+5*/
switch(character)
{
case'+':
value=first_number+second_number;
printf("等于%1f\n",value);
break;
case'-':
value=first_number-second_number;
printf("等于%1f\n",value);
break;
case'*':
value=first_number*second_number;
printf("等于%1f\n",value);
break;
case'/':
while(second_number==0)
{
printf("除数为零,请输入一个算式:");
scanf("%lf%c%lf",&first_number,&character,&second_number);
}
value=first_number/second_number;
printf("等于%f\n",value);
break;
default:
printf("非法输入!\n");
}
printf("是否继续运算?(Y/N>)");
fflush(stdin);
scanf("%c",&command_begin);
}
printf("程序退出!\n");
}