已知三角形三边长求面积用仓颉语言作答

仓颉语言

https://cangjie-lang.cn/

linux和win和mac均有sdk,在本机deepinlinuxv23下载到本地解压缩到目录下设置环境变量

复制代码
source envsetup.sh

比java方便太多了,java每次都是要自己搞很久,当然,打开看一下envsertup.sh,和我们自己设置java环境变量一样功能,可以把cangjie目录像java那样加到用户目录,下次在仁义路径不用source也能用了,直接到终端查看版本

复制代码
cjc -v

另外为了方便代码编程下载vscode插件离线包,安装后右键插件设置本地sdk路径,即可便捷使用

可以创建仓颉工程方便管理,创建后直接ide代码编辑上方运行按钮就可以编译代码启动输出后的可执行文件,也可到可执行文件所在目录直接执行可执行文件

复制代码
package cj1
import std.math.*
import std.format.Formatter
import std.convert.*

main( args:Array<String>): Int64 {    
    println("hello world,welcome to cangjie1 {}"+args.size.toString())
    println("usage: main a b c [area*area=(L/2)*(L/2-a)*(L/2-a)*(L/2-a)]")
    if(args.size > 2){
        println("you input args: "+args[0] + " " + args[1] + " " + args[2])
        let a:Int64 =Int64.parse( args[0]);
        let b:Int64 =Int64.parse( args[1])
        let c:Int64 =Int64.parse( args[2])
        let l=(a+b+c)/2
        let area:Float64 =sqrt( Float64(l*(l-a)*(l-b)*(l-c)))
        println(  "s:  ${area.format(".4g")}   ${area.format("g")}")
    }
    return 0
}

代码很简单,接收一个三角形3边长,算出来它的面积,结果也许看起来很简单,但是考试可能用到,能很快求出某边上的高了,比如一个湖一个大坑?有点实用价值。

复制代码
cjc ./main.cj -o main

如果有测试没用到函数,编译发现有警告,cjpm.toml文件中可以配置优化选项,如:

复制代码
compile-option = "-Woff unused"

再次编译清爽了,直接 运行算面积吧

复制代码
main 5 12 13

能方便得到面积是30

相关推荐
To_OC11 小时前
从一次栈溢出报错说起,我把递归彻底扒明白了
javascript·算法·程序员
千纸鹤安安16 小时前
千问Qwen-AgentWorld来了:一个语言模型搞定七大Agent场景,GPT-5.4都输了
算法
七牛开发者18 小时前
MCP 到底是什么?为什么 Agent 都想接上它
算法·aigc·agent
kisshyshy1 天前
从递归到迭代,一文吃透二叉树的核心知识与 JavaScript 实现
javascript·算法·代码规范
To_OC1 天前
LC 49 字母异位词分组:想到哈希表很简单,选对 key 才是精髓
javascript·算法·leetcode
用户938515635072 天前
从 O(n²) 到 O(nlogn):一文读懂快速排序的“快”与“妙”
javascript·算法
To_OC2 天前
手写快排次次翻车?别死背快排模板了,这才是面试官想听的底层逻辑
javascript·算法·排序算法
饼干哥哥2 天前
Reddit VOC调研太慢?搭一个AI专家团队半小时洞察任何品类|以猫用饮水机为例
人工智能·算法·ai编程