#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");
}咋算加法都得0,应该没啥问题啊
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
1条回答 默认 最新
qq_25376897 2021-01-12 11:36关注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"); }本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报