找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1085|回复: 1
收起左侧

求分享STM32单片机简易计算器(加减乘除乘方开方)

[复制链接]
ID:1121305 发表于 2024-5-20 09:15 | 显示全部楼层 |阅读模式
各位大佬,由STM32的简易计算器(加减乘除乘方开方)的程序吗?
回复

使用道具 举报

ID:404160 发表于 2024-5-21 09:44 | 显示全部楼层
#include <stdio.h>
#include <math.h>

int main() {
    float num1, num2, result;
    char op;

    printf("Enter first number: ");
    scanf("%f", &num1);

    printf("Enter operator (+, -, *, /, ^, sqrt): ");
    scanf(" %c", &op);

    if (op == '+' || op == '-' || op == '*' || op == '/') {
        printf("Enter second number: ");
        scanf("%f", &num2);
    }

    switch (op) {
        case '+':
            result = num1 + num2;
            printf("%.2f + %.2f = %.2f", num1, num2, result);
            break;
        case '-':
            result = num1 - num2;
            printf("%.2f - %.2f = %.2f", num1, num2, result);
            break;
        case '*':
            result = num1 * num2;
            printf("%.2f * %.2f = %.2f", num1, num2, result);
            break;
        case '/':
            if (num2 == 0) {
                printf("Error: Division by zero");
            } else {
                result = num1 / num2;
                printf("%.2f / %.2f = %.2f", num1, num2, result);
            }
            break;
        case '^':
            result = pow(num1, num2);
            printf("%.2f ^ %.2f = %.2f", num1, num2, result);
            break;
        case 'sqrt':
            result = sqrt(num1);
            printf("sqrt(%.2f) = %.2f", num1, result);
            break;
        default:
            printf("Error: Invalid operator");
            break;
    }

    return 0;
}
程序使用了标准的C库函数,包括stdio.h和math.h。它可以处理加减乘除、乘方和开方的基本计算。您可以根据您的具体需求进行修改和优化
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表