PTA-輸出三角形面積和周長

本題要求編寫程序,根據輸入的三角形的三條邊a、b、c,計算并輸出面積和周長。注意:在一個三角形中, 任意兩邊之和大于第三邊。三角形面積計算公式:area=s(s?a)(s?b)(s?c)?,其中s=(a+b+c)/2。

輸入格式:

輸入為3個正整數,分別代表三角形的3條邊a、b、c。

輸出格式:

如果輸入的邊能構成一個三角形,則在一行內,按照

area = 面積; perimeter = 周長

的格式輸出,保留兩位小數。否則,輸出

These sides do not correspond to a valid triangle

輸入樣例1:

5 5 3

輸出樣例1:

area = 7.15; perimeter = 13.00

輸入樣例2:

1 4 1

輸出樣例2:

These sides do not correspond to a valid triangle

分析:

  1. 包含<stdio.h>頭文件以使用printf和scanf函數。
  2. 在main函數中定義三個整數a, b, c來存儲三角形的三條邊的長度。
  3. 定義兩個double類型的變量area和s,以及一個double類型的變量perimeter來存儲三角形的面積、半周長和周長。
  4. 使用scanf函數從用戶那里接收三個整數作為三角形的三條邊的長度。
  5. 計算半周長s,方法是把a、b、c相加然后除以2.0。
  6. 計算三角形的周長,方法是把a、b、c相加。
  7. 檢查a、b、c是否滿足構成三角形的條件,即任意兩邊之和大于第三邊。如果不滿足這個條件,打印出錯誤消息并結束程序。
  8. 如果滿足構成三角形的條件,那么使用海倫公式計算三角形的面積。這是通過計算s、(s-a)、(s-b)、(s-c)的乘積的平方根來完成的。但是,為了確保結果的準確性,我們需要在計算面積之前檢查a、b、c是否為非負數。
  9. 如果a、b、c都是非負數,那么打印出面積和周長的值。否則,打印出錯誤消息并結束程序。
  10. 程序結束時返回0。

?

C語言:

#include<stdio.h>int main()
{int a,b,c;double area,s,perimeter;scanf("%d %d %d",&a,&b,&c);s=(a+b+c)/2.0;perimeter=a+b+c;area=pow(s*(s-a)*(s-b)*(s-c),0.5);if((a+b)>c&&(a+c)>b&&(b+c)>a){printf("area = %.2lf; perimeter = %.2lf",area,perimeter);}else{printf("These sides do not correspond to a valid triangle");}return 0;
}

結果:

總結:

這是代碼的基本思路。然而,代碼中存在一些問題。首先,它沒有正確地處理負數輸入。其次,它沒有正確地處理不滿足三角形條件的輸入。因此,我們需要對代碼進行修改以解決這些問題。?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/162041.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/162041.shtml
英文地址,請注明出處:http://en.pswp.cn/news/162041.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

某60區塊鏈安全之Call函數簇濫用實戰二學習記錄

區塊鏈安全 文章目錄 區塊鏈安全Call函數簇濫用實戰二實驗目的實驗環境實驗原理實驗內容實驗步驟EXP利用 Call函數簇濫用實戰二 實驗目的 學會使用python3的web3模塊 學會并區分以太坊call、staticcall、delegatecall三種函數調用的特點 找到合約漏洞進行分析并形成利用 實驗…

關于git hooks

Git hooks 是一種在 Git 倉庫中觸發自定義腳本的機制。這些腳本可以在特定的 Git 操作&#xff08;如提交、推送、合并等&#xff09;發生時執行。通過使用 Git hooks&#xff0c;你可以在版本控制的不同階段自動運行腳本&#xff0c;以執行一些定制化的操作。 在 Git 中&…

03梯度下降

目錄 lambda基礎知識 代碼 核心算法&#xff1a; lambda基礎知識 lambda 是 Python 中的一個關鍵字&#xff0c;用于創建匿名函數。匿名函數是一種沒有具體名稱的小型、臨時的函數&#xff0c;通常用于一次性的、簡單的操作。lambda 函數的語法如下&#xff1a;python Copy c…

高效運維工具,助力運維服務商為企業用戶提供IT遠程維保服務

一、背景介紹 隨著科技的迅速發展和信息化建設的不斷推進&#xff0c;IT運維在中小企業中的地位逐漸提升。IT運維是指通過技術手段和工具&#xff0c;對企業的IT基礎設施進行監控、管理和維護&#xff0c;以確保企業信息系統的穩定運行和業務的持續發展。 然而&#xff0c;對于…

計算3個點的6種分布在平面上的占比

假設平面的尺寸是6*6&#xff0c;用11的方式構造2&#xff0c;在用21的方式構造3 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 1 2 2 3 3 3 x 3 3 2 2 2 1 2 2 2 2 2 1 2 2 在平面上有一個點x&#xff0c;11的操作吧平面分成了3部分2a1&#xff0c;2a…

海康Visionmaster-模塊索引:MFC 模塊索引異常解決 辦法

現象&#xff1a;文件編碼格式為 UTF-8 不帶簽名編碼格式&#xff0c;模塊索引會出現 模塊無法找到異常 更改文件類型為 UTF-8 帶簽名格式或 vs 默認 GBK2312 編碼格式

JMeter處理接口簽名sign

寫接口腳本的時候&#xff0c;很多接口涉及到簽名&#xff0c;今天介紹下用JMeter編寫簽名腳本的方法。 舉個例子&#xff0c;開啟紅包接口&#xff0c;請求方式為post POST /v1/api/red/open json請求參數 { "red_id":1, "timestamp":"1667033841…

2023年中國邊緣計算網關現狀及發展趨勢分析[圖]

邊緣計算網關是一種可以在設備上運行本地計算、消息通信、數據緩存等功能的工業智能網關&#xff0c;可以在無需聯網的情況下實現設備的本地聯動以及數據處理分析。邊緣計算網關是一種連接物聯網設備和云端服務的關鍵技術&#xff0c;它可以在設備和云端之間建立一個安全、高效…

實例講解Simulink的MATLAB Function模塊

內容 MATLAB Function是一個支持使用M語言編寫模塊功能,并能夠將所編寫的M語言生成C代碼&#xff0c;用于開發桌面應用和嵌入式應用的模塊。它支持的 MATLAB內建函數比 Fcn模塊要廣泛&#xff0c;除去基本的四則運算、邏輯操作符和關系操作符&#xff0c;還可以調用MATLAB各種…

代碼隨想錄算法訓練營第四十三天【動態規劃part05】 | 1049. 最后一塊石頭的重量 II、494. 目標和、474.一和零

1049. 最后一塊石頭的重量 II 題目鏈接&#xff1a; 力扣&#xff08;LeetCode&#xff09;官網 - 全球極客摯愛的技術成長平臺 求解思路&#xff1a; 等于把石頭盡量分成重量相同的兩堆 動規五部曲 確定dp數組及其下標含義&#xff1a;容量為j的背包&#xff0c;最多能裝…

logstash安裝和使用

官網&#xff1a;https://www.elastic.co/cn/logstash/ 1.上傳Linux安裝包 2.解壓安裝包且重命名 [rootVM-4-10-centos logstash]# tar -zxvf logstash-8.11.1-linux-x86_64.tar.gz -C ../software/[rootVM-4-10-centos logstash]# mv logstash-8.11.1/ logstash3.啟動測試 …

國產遙感影像處理軟件 GSRS,真是很方便

兼容國內外絕大多數衛星遙感影像格式&#xff1b;高效的影像查看&#xff0c;比如漫游、放大、縮小、查看影像像素灰度值、影像地理坐標、影像投影坐標系等等&#xff1b;人機交互影像裁剪&#xff0c;任何繪制裁剪區域&#xff0c;輸出裁剪影像&#xff1b;具備影像基本處理功…

基于Haclon的Blob分析

任務要求&#xff1a; 請用BLOB分析的方法計算圖中所有灰度值在120和255之間的像素構成的8連通區域的面積與中心點坐標。 Blob基礎&#xff1a; 分析過程&#xff1a;首先獲取圖像&#xff0c;然后根據特征對原始圖像進行閾值分割&#xff08;區分背景像素和前景像素&#xf…

洛谷 P4552 [Poetize6] IncDec Sequence

挺好的一道思維題。 分析 因為是對區間修改&#xff0c;多次修改肯定會超時&#xff0c;很容易想到差分。 那么原題的對區間修改就可以轉換為下面三個操作&#xff08;均在差分數組中&#xff09;&#xff1a; 1. 任選一個數1 2. 任選一個數-1 3. 任選兩個數1和-1 進一步考…

貪心算法及相關例題

目錄 什么是貪心算法&#xff1f; leetcode455題.分發餅干 leetcode376題.擺動序列 leetcode55題.跳躍游戲I leetcode45題.跳躍游戲II leetcode621題.任務調度器 leetcode435題.無重疊空間 leetcode135題.分發糖果 什么是貪心算法&#xff1f; 貪心算法更多的是一種思…

《QT從基礎到進階·三十七》QWidget實現左側導航欄效果

NavigationBarPlugin插件類實現了對左側導航欄的管理&#xff0c;我們可以在導航欄插件中添加界面&#xff0c;并用鼠標點擊導航欄能夠切換對應的界面。 源碼在文章末尾 實現效果如下&#xff1a; NavigationBarPlugin實現的接口如下&#xff1a; class NAVIGATIONBAR_EXP…

【brpc學習實踐六】backup request場景案例

應用場景 有時為了保證可用性,需要同時訪問兩路服務,哪個先返回就取哪個。在brpc中,這有多種做法,根據server是否掛在同一個命名服務內有所區別。 當后端server可以掛在一個命名服務內時 Channel開啟backup request。這個Channel會先向其中一個server發送請求,如果在Ch…

C#,數值計算——插值和外推,多項式插值與外推插值(Poly_interp)的計算方法與源程序

1 文本格式 using System; namespace Legalsoft.Truffer { /// <summary> /// 多項式插值與外推插值 /// Polynomial Interpolation and /// Extrapolation interpolation routines for one dimension /// </summary> public class Poly…

【ES6.0】- Promise對象

【ES6.0】- Promise對象 文章目錄 【ES6.0】- Promise對象一、概述二、Promise狀態三、Promise方法3.1 Promise.prototype.then方法&#xff1a;鏈式操作3.2 Promise.prototype.catch方法&#xff1a;捕捉錯誤3.3 Promise.race方法&#xff1a;捕捉錯誤3.4 Promise.any()3.5 Pr…

第三節-Android10.0 Binder通信原理(三)-ServiceManager篇

1、概述 在Android中&#xff0c;系統提供的服務被包裝成一個個系統級service&#xff0c;這些service往往會在設備啟動之時添加進Android系統&#xff0c;當某個應用想要調用系統某個服務的功能時&#xff0c;往往是向系統發出請求&#xff0c;調用該服務的外部接口。在上一節…