首页 > 其他分享 >就是这个样的粗爆,手搓一个计算器:方程组计算器

就是这个样的粗爆,手搓一个计算器:方程组计算器

时间:2024-11-13 12:18:01浏览次数:3  
标签:const 方程组 color important match background 计算器 margin 就是

       作为程序员,没有合适的工具,就得手搓一个,PC端,移动端均可适用。废话不多说,直接上代码。

HTML:

<div class="calculator"><div class="input-group"><label for="equation1">输入第一个方程 (例如: 2x + 3y = 5):</label> <input id="equation1" type="text" placeholder="例如: 2x + 3y = 5"></div><div class="input-group"><label for="equation2">输入第二个方程 (例如: 4x - y = 2):</label> <input id="equation2" type="text" placeholder="例如: 4x - y = 2"></div><div class="operations"><button onclick="solveEquations()">计算</button></div><div class="result"><p>计算结果:</p><p id="result-output">结果: -</p></div></div>

JS:

function parseEquation(equation) {
    const match = equation.match(/([+-]?\d*)x\s*([+-]\s*\d*)y\s*=\s*([+-]?\d+)/);
    if (match) {
        return {
            a: parseFloat(match[1] || 1),
            b: parseFloat(match[2].replace(/\s+/g, '') || 1),
            c: parseFloat(match[3])
        };
    } else {
        throw new Error('方程格式错误');
    }
}

function solveEquations() {
    const eq1 = document.getElementById('equation1').value;
    const eq2 = document.getElementById('equation2').value;

    try {
        const { a: a1, b: b1, c: c1 } = parseEquation(eq1);
        const { a: a2, b: b2, c: c2 } = parseEquation(eq2);

        const det = a1 * b2 - a2 * b1;
        if (det === 0) {
            throw new Error('方程组无解或有无穷多解');
        }

        const x = (c1 * b2 - c2 * b1) / det;
        const y = (a1 * c2 - a2 * c1) / det;

        document.getElementById('result-output').textContent = `解: x = ${x}, y = ${y}`;
    } catch (e) {
        document.getElementById('result-output').textContent = `错误: ${e.message}`;
    }
}

CSS:

.calculator {
width: 100%;
    background-color: #333;
    color: white;
    padding: 20px;
    border-radius: 10px;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
}


label {
    display: block;
    margin-bottom: 10px;
    font-size: 16px;
}

input, select {
    width: 100%!important;
    padding: 10px!important;
    margin-bottom: 20px;
       color: #000000; 
    border-radius: 5px;
    border: 1px solid #555;
    font-size: 16px!important;
    background-color: #ffffff!important;
}

button {
    width: 100%;
    padding: 10px;
    background-color: #007bff;
    color: white;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    font-size: 16px;
        display: block;
        margin: 0px;
     margin-bottom: 20px;
    margin-left: 0px!important;
}

button:hover {
    background-color: orange;
}

.result {
    margin-top: 20px;
    text-align: center;
}

option {
        background-color: #ffffff;
}


p {
    font-size: 18px;
        margin-top: 5px!important;
}

线上运行,可以直接打开:方程组计算器 (在线计算器

标签:const,方程组,color,important,match,background,计算器,margin,就是
From: https://blog.csdn.net/yuchangchenTT/article/details/143678961

相关文章

  • 8.4 求微分方程组的数值解 x'=-x^3-y,x(0)=1,y'=x-y^3,y(0)=0.5,0<=t<=30,要求画出x(t)和
    importnumpyasnpimportmatplotlib.pyplotaspltfromscipy.integrateimportsolve_ivpdefsystem(t,state):x,y=statedxdt=-x3-ydydt=x-y3return[dxdt,dydt]t_span=(0,30)y0=[1,0.5]sol=solve_ivp(system,t_span,y0,t_eval=np.linsp......
  • 就是这个样的粗爆,手搓一个计算器:角度单位换算计算器
        作为程序员,没有合适的工具,就得手搓一个,PC端,移动端均可适用。废话不多说,直接上代码。HTML:<divclass="calculator"><labelfor="inputValue">输入角度值:</label><inputid="inputValue"type="number"placeholder="请输入数值">&......
  • 《【NOIP2000 基础】计算器的改良》 不全对题解
    温馨提示,本题难度略大,本人写不出来正确代码,文章代码并不对,只是提供一些思路,希望大家能谅解!目录题目描述输入描述输出描述解析完整代码描述NCL是一家专门从事计算器改良与升级的实验室,最近该实验室收到了某公司所委托的一个任务:需要在该公司某型号的计算器上加上解一......
  • 重温c语言之,7天开整,就是随便的写写,第十天
    一:操作符&:按位与----2进制|:按位或----2进制^:按位异或----2进制~:按位取反---2进制&:先上代码,然后解释1#define_CRT_SECURE_NO_WARNINGS23#include<stdio.h>4intmain()5{6inta=3;7intb=-5;8intc=a&......
  • 解线性方程组迭代法
    解线性方程组迭代法在数值分析中,迭代法是解决大规模线性方程组的重要工具。迭代法可以有效地减少计算复杂度,使得求解效率更高。本文将从前置知识开始,介绍向量和矩阵的范数,再深入探讨求解线性方程组的Jacobi和Gauss-Seidel迭代法。一、前置知识:向量和矩阵的范数在理解迭代法......
  • JavaScript题目三 制作简易计算器
    目标:提供四个基本的运算功能:加、减、乘、除。支持数字输入和运算符输入。显示结果。1.HTML文件(index.html)<!DOCTYPEhtml><htmllang="zh-CN"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,i......
  • 重温c语言之,7天开整,就是随便的写写,第九天
    这次照着网站上的内容,写了一个简单的小游戏,3字棋,其实也可以n字棋附上代码,这里是:game.h1#pragmaonce2#include<stdio.h>3#include<stdlib.h>4#include<time.h>56//游戏代码的声明(函数声明,符号定义)78#defineRow39#defineCol31011//初始化棋......
  • Netty原来就是这样啊(二)
    前言:Netty其实最大的特点就是在于对于对NIO进行了进一步的封装,除此以外Netty的特点就是在于其的高性能高可用性,下面就会一一进行说明。高性能:我在Netty原来就是这样啊(一)-CSDN博客 解释了其中的零拷贝的技术除此以外还有Reactor线程模型,这个Reactor线程模型的思想就......
  • 重温c语言之,7天开整,就是随便的写写,第八天
    一:函数1、递归题目:求n的阶乘(不考虑溢出)上代码1#include<stdio.h>2intfactorial(intn){3if(n>1){4returnn*(factorial(n-1));5}6else7{8return1;9}10}11#include<stdio.h>12in......
  • Win11计算器 科学模式
    不再盲目按!带你了解Win11计算器各个按键的功用_缩写_三角函数_显示(22条消息)计算器上DEGRADGRAD是什么意思有什么区别?-知乎【MC】memoryclear的缩写,作用是删除记忆按键刚才保存的内容【MR】memoryrecall的缩写,作用是读取记忆按键存储的内容,用来显示按下记忆按键时的......