以下是用C语言实现的简易计算器代码:
#include <stdio.h>
int main() {
double a, b, sum;
int choice;
while (1) {
printf("请输入要进行的操作:\n");
printf("1.加法\n2.减法\n3.乘法\n4.除法\n5.退出\n");
scanf("%d", &choice);
if (choice == 5) {
printf("程序已退出!\n");
break;
}
printf("请输入两个数:\n");
scanf("%lf %lf", &a, &b);
switch (choice) {
case 1:
sum = a + b;
printf("和为:%.2lf\n", sum);
break;
case 2:
sum = a - b;
printf("差为:%.2lf\n", sum);
break;
case 3:
sum = a * b;
printf("积为:%.2lf\n", sum);
break;
case 4:
if (b == 0) {
printf("错误:除数不能为0!\n");
} else {
sum = a / b;
printf("商为:%.2lf\n", sum);
}
break;
default:
printf("错误:无效的操作!\n");
break;
}
}
return 0;
}
程序中使用了一个while循环,不断接受用户输入,直到用户选择退出。用户输入选择操作的数字,然后输入两个数a和b,根据选择的操作进行相应的计算,并输出结果。其中,用double类型定义了a、b和sum,保证了计算的精度。在除法运算中,需要判断除数是否为0,如果为0,则输出错误提示信息。最后,程序返回0,表示正常退出。
我的思路如下:
首先,可以定义四个运算的函数,函数计算出对应运算的结果,并打印结果;
接着,在main函数先打印菜单,然后从输入获取被除数和除数,以及选项序号,接着使用switch-case结构,根据选项序号来调用对应的函数,最后使用default分支处理输入序号错误的情况就可以了。
代码如下:
参考链接:
#include <stdio.h>
#include <stdlib.h>
// 加法运算
void add(double a,double b){
double result = a+b;
printf("\n两个数的运算结果为:%.3f\n",result);
}
// 减法运算
void sub(double a,double b){
double result = a-b;
printf("\n两个数的运算结果为:%.3f\n",result);
}
// 乘法运算
void mul(double a,double b){
double result = a*b;
printf("\n两个数的运算结果为:%.3f\n",result);
}
// 除法运算
void div(double a,double b){
double result = a/b;
if(b!=0){
printf("\n两个数的运算结果为:%.3f\n",result);
// https://baijiahao.baidu.com/s?id=1739514460924957427
}else{ // 除数为0,则打印错误提示信息
printf("\n除数不能为0!\n");
}
}
// 打印菜单
void menu(){
printf("----------------简易计算器---------------------\n\n");
printf("1 加法运算 2 减法运算\n");
printf("3 乘法运算 4 除法运算\n\n");
printf("----------------------------------\n") ;
}
int main(void){
double a,b; // 分别存储被除数和除数
int choice; // 存储输入的选项序号
menu();
printf("请输入两个操作数: ");
scanf("%lf%lf",&a,&b); // 从输入获取除数和被除数
printf("请选择你要的服务(1、2、3、4): ");
scanf("%d",&choice); // 获取服务选项序号
// 根据输入的序号,调用对应的运算函数
switch(choice){
case 1:add(a,b);
break;
case 2:sub(a,b);
break;
case 3:mul(a,b);
break;
case 4:div(a,b);
break;
default: // 如果输入的序号不是1到4,则打印错误信息
printf("\n输入错误!\n");
break;
}
system("pause");
return 0;
}
我可以解决该问题。
针对本题,可以按照以下步骤进行操作:
1.使用double类型定义a、b、sum,这样就可以进行加减乘除运算。
2.使用scanf函数获取用户输入的a和b的值,采用"%.2lf"格式,保留两位小数。
3.根据用户的选择进行相应的运算,可以使用if或者switch语句,根据输入的符号来确定应该进行加减乘除运算。
4.输出结果,可以使用printf函数,使用"%lf"格式来输出结果,同样保留两位小数。
以下是代码实现示例,以加法为例:
#include <stdio.h>
int main()
{
double a, b, sum;
char symbol;
// 获取用户输入的a和b的值
printf("please input two numbers:");
scanf("%.2lf %.2lf", &a, &b);
// 获取用户选择的符号,根据选择执行相应的运算
printf("please input a symbol:");
scanf(" %c", &symbol);
switch(symbol)
{
case '+':
sum = a + b;
printf("%.2lf + %.2lf = %.2lf", a, b, sum);
break;
// 同样的方式可以处理减法、乘法、除法运算
// case '-':
// case '*':
// case '/':
default:
printf("invalid input");
break;
}
return 0;
}
注意:此处为示例代码,还需要对用户输入值的合法性进行判断和处理,本例中未加入。