當前位置:首頁 » 編程語言 » c語言用函數求三角形第三邊
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言用函數求三角形第三邊

發布時間: 2022-04-12 19:08:54

① 用c或者C++ 編寫: 已知直角三角形中的兩邊,求第三邊. 已知三角形的三邊,求三角形的面積

#include<iostream>
#include<math.h>
using namespace std;
void main()
{
float m,n,p,q,s,t,area;
int a;
cout<<"求直角三角形的第三邊"<<endl;
cout<<"已知直角三角形的兩條直角邊請輸入[1]"<<endl;
cout<<"已知直角三角形的一條直角邊和一條斜邊請輸入[2]"<<endl;
cin>>a;
cout<<"請輸入這兩條邊"<<endl;
cin>>m>>n;
switch(a)
{
case 1: cout<<pow(m*m+n*n,0.5)<<endl;break;
case 2: cout<<pow((fabs(m*m-n*n)),0.5)<<endl;break;

}

cout<<"求三角形的面積"<<endl;
cout<<"請輸入三角形的三邊"<<endl;
cin>>p>>q>>s;
t=(p+q+s)/2;

cout<<"三角形的面積area="<<pow((t*(t-p)*(t-q)*(t-s)),0.5)<<endl;
}

c語言中求三角形的三邊長問題

你把
scanf("%f,%f,%f",&a,&b,&c);
改成
scanf("%lf%lf%lf",&a,&b,&c);
就可以了。
注意下面兩點:
1.如果scanf裡面有逗號,那麼你在輸入的時候也得有逗號!
2.double要用lf格式讀取和列印
代碼如下:
#include
"stdio.h"
#include
"math.h"
void
main()
{
double
a,b,c,x,y,p,t;
printf("輸入三角形的三邊長:");
/*輸入三角形的三邊長*/
scanf("%lf%lf%lf",&a,&b,&c);
if(a+b<=c)
{
printf("輸入錯誤,重新輸入!");
}
if(a+c<=b)
{
printf("輸入錯誤,重新輸入!");
}
if(b+c<=a)
{
printf("輸入錯誤,重新輸入!");
}
x=a+b+c;
p=x/2;
y=p*(p-a)*(p-b)*(p-c);
t=sqrt(y);
printf("三角形周長C=%.2f,面積S=%3.2f\n",x,t);
}

③ C語言編程 已知三角形的兩邊a,b及其夾角jc的值,求第三邊(a,b,jc由鍵盤輸入)幫忙謝謝了

#include <stdio.h>
#include <math.h>
#define pi 3.14159265
main()
{
float a,b,jc,c;
printf("a=");
scanf("%f",&a);
printf("b=");
scanf("%f",&b);
printf("jc=");
scanf("%f",&jc);
/*餘弦公式 c*c=a*a+b*b-2*a*b*cos(jc),jc為弧度制*/
c=sqrt(a*a+b*b-2*a*b*cos(pi*jc/180));
printf("c=%f\n",c);
}

④ C語言編寫程序,從鍵盤輸入三角形三條邊長(實數),計算並輸出該三角形三條邊長及面積。

#include<stdio.h>

intmain()

{

folata,b,c,s,p;

printf("請輸入三角形的三邊:");

scanf("%f%f%f",&a,&b,&c);

p=(a+b+c)/2;

s=sqrt(p*(p-a)*(p-b)*(p-c));

printf("三角形的面積為:%.1f",s);

return0;

}

(4)c語言用函數求三角形第三邊擴展閱讀

C語言求楊輝三角形:

intmain()

{

intn;

cout<<"請輸入行數:"<<endl;

cin>>n;

intupNumber=1;//用來記錄上一個數

for(inti=1;i<=n;i++)

{

upNumber=1;

//輸出三角空格

for(intj=n;j>i;j--)//這是為了使三角形成為正三角形

{

cout<<"";

}

cout<<"1";//這是輸出每一行的第一個1

for(intj=1;j<=i-2;j++)

{

upNumber=(i-j)*upNumber/j;

cout<<upNumber<<"";

}

cout<<"1"<<endl;//每一行的最後一個1

}

return0;

}

⑤ C語言程序,輸入三角形的三邊,計算三角形的面積。

#include
#include
int
main()
{
float
s,a,b,c,p;
printf("請輸入三角形的三邊,以空格隔開");
scanf("%f%f%f",&a,&b,&c);
if(a+b>c&&a+c>b&&c+b>a)
{p=(a+b+c)/2;
p=p*(p-a)*(p-b)*(p-c);
s=sqrt(p);
printf("%f",s);}
else
printf("你輸入的三邊,不能構成三角形");
return
0;
}
試試~看看是不是你想要的

⑥ 2級C語言 輸入三角形的兩直邊求第三邊 的程序怎麼編

#include<stdio.h>
#include<math.h>
main()
{ float a,b,c
scanf("%f,%f",&a,&b); /*注意輸入時兩直角邊之間用逗號隔開*/
c=sqrt(a*a+b*b);
printf("%f",c);
return 0;
}

⑦ c語言,輸入三角形的兩邊長和夾角,求第三邊和面積,我現在糾結夾角怎麼輸入呀,求大神解答,加懸賞

就直接輸入一個浮點數唄,例如夾角為30,則直接輸入30或30.0就是了。程序段可如下
float a, b, C;
scanf("%f%f%f", &a, &b, &C);
但用三角函數時,需將角度轉為弧度進行計算,公式為:
弧度 = 圓周率 * 角度 / 180
比如根據公式「S三角形 = a * b * sinC / 2"求面積的程序可如下:
#include <stdio.h>
#include <math.h>
void main( )
{
float a, b, C, S;
scanf("%f%f%f", &a, &b, &C);
S = a * b * sin(3.1415926 * C / 180) / 2;
printf("%f\n", S);
}

⑧ 怎麼用C語言輸入三角形的三條邊長,計算並輸出三角形的面積

#include<stdio.h>

int main()

{

folat a,b,c,s,p ;

printf("請輸入三角形的三邊:");

scanf("%f %f %f",&a,&b,&c);

p=(a+b+c)/2;

s=sqrt(p*(p-a)*(p-b)*(p-c));

printf("三角形的面積為:%.1f",s);

return 0;

}

拓展資料:

C語言是一門通用計算機編程語言,廣泛應用於底層開發。C語言的設計目標是提供一種能以簡易的方式編譯、處理低級存儲器、產生少量的機器碼以及不需要任何運行環境支持便能運行的編程語言。

盡管C語言提供了許多低級處理的功能,但仍然保持著良好跨平台的特性,以一個標准規格寫出的C語言程序可在許多電腦平台上進行編譯,甚至包含一些嵌入式處理器(單片機或稱MCU)以及超級電腦等作業平台。

二十世紀八十年代,為了避免各開發廠商用的C語言語法產生差異,由美國國家標准局為C語言制定了一套完整的美國國家標准語法,稱為ANSI C,作為C語言最初的標准。 目前2011年12月8日,國際標准化組織(ISO)和國際電工委員會(IEC)發布的C11標準是C語言的第三個官方標准,也是C語言的最新標准,該標准更好的支持了漢字函數名和漢字標識符,一定程度上實現了漢字編程。

C語言是一門面向過程的計算機編程語言,與C++,Java等面向對象的編程語言有所不同。

其編譯器主要有Clang、GCC、WIN-TC、SUBLIME、MSVC、Turbo C等。

⑨ 求c語言輸出直角三角形的三條邊的程序

寫了一段程序,注釋沒寫太多。可以參考一下。粘到這了哈~

// File: main.h
/*
* main.h
*
* Created on: 2012-2-6
* Author: Administrator
*/

#ifndef MAIN_H_
#define MAIN_H_

#include "stdio.h"

//declare the function
void initialTriangle(int* x, int* y, int* z);
int check(int x, int y, int z);
void print(int x, int y, int z);

//define return macros
#define SUCCESS 0
#define ERROR 1

#define NOT_A_TRIANGLE 0
#define RIGHT_ANGLED_TRIANGLE 1
#define COMMON_TRIANGLE 2

#define TRY_AGAIN 1
#define QUIT 0

#endif /* MAIN_H_ */

//===================================
//File: main.cpp
/*
* main.cpp
*
* Created on: 2012-2-6
* Author: Administrator
*/

#include "main.h"

int main()
{
int choice = TRY_AGAIN;

do
{
//define three edges of the triangle
int x = 0;
int y = 0;
int z = 0;

//initialize the tree edges
initialTriangle(&x, &y, &z);

//check whether it is right-angled
switch(check(x, y, z))
{
case NOT_A_TRIANGLE:
printf("This is not a triangle. \n");
break;
case COMMON_TRIANGLE:
printf("This is a common triangle. \n");
break;
case RIGHT_ANGLED_TRIANGLE:
printf("This is a right-angled triangle.\n");
print(x, y, z);
break;
}
fflush(stdout);

printf("\n");
printf("Enter\n");
printf("1 to Try again\n");
printf("0 to Quit\n");
printf("Choice> ");
fflush(stdout);

scanf("%d", &choice);
}
while (QUIT != choice);

return SUCCESS;
}

//initial three edges of the triangle
void initialTriangle(int* x, int* y, int* z)
{
printf("Please enter the length of the edges:\n");

//if a negative number is entered, try it again
while (*x <= 0)
{
printf("x> ");
fflush(stdout);
scanf("%d", x);
}

while (*y <= 0)
{
printf("y> ");
fflush(stdout);
scanf("%d", y);
}

while (*z <= 0)
{
printf("z> ");
fflush(stdout);
scanf("%d", z);
}
}

//check if it is a right-angled triangle
int check(int x, int y, int z)
{
if ((x > 0) && (y > 0) && (z > 0))
{
if ((x + y <= z)
|| (x + z <= y)
|| (y + z < x))
{
return NOT_A_TRIANGLE;
}
else
{
if ((x * x + y * y == z * z)
|| (y * y + z * z == x * x)
|| (x * x + z * z == y * y))
{
return RIGHT_ANGLED_TRIANGLE;
}
else
{
return COMMON_TRIANGLE;
}
}
}
else
{
return NOT_A_TRIANGLE;
}
}

//print the information of the triangle
void print(int x, int y, int z)
{
printf("x=%d, y=%d, z=%d\n", x, y, z);
}

以上就是所有代碼了,下面說明一下:
1、main.h中定義了很多宏,主要是為了增加程序的易讀性,約定返回某個數代表某個含義,不要讀不下去。例如
#define RIGHT_ANGLED_TRIANGLE 1
就是用返回1表示直角三角形,在編寫程序時,不用思考到底是1還是2還是3了。當然在定義這個宏時,後面寫什麼數都無所謂。

2、頭文件一般要定義防止重復包含的宏,一般定義為:文件名的大寫_H_,用以下形式包含頭文件。這個在學習C語言時,可以暫時不管。
#ifdef 文件名的大寫_H_
#define 文件名的大寫_H_
......
#endif 文件名的大寫_H_

3、定義了三個輔助函數,主要是為了讓main函數線索更清晰。主要功能函數名已經表示的比較清楚。

4、其實三角形的三條邊用三個整型變數表示不好,應該聲明一個結構體如下
struct Triangle
{
int x;
int y;
int z;
};
然後再用它來進行運算,但昨天沒把程序調過去,暫時先用三個變數代替,到時候你可以自己試一下。

5、fflush()是一個強制刷新輸出緩沖區的函數。我在程序中加了很多這個函數,主要原因是printf()在編譯的時候,不同的編譯器實現不同。我用的MinGW GCC編譯器(實際上是C++的編譯器),它在實現的時候好像沒有讓printf()刷新輸出緩沖區,即使我在最後加了個'\n'。所以要進行強制刷新。不過在VC6.0上編譯應該不用了。
ps:
能導致緩沖區刷新的情況
a、強制刷新 fflush;
b、放到緩沖區到內容中包含\n \r ;
c、緩沖區已滿;
d、需要從緩沖區拿東西到時候,如執行scanf。

6、還有一些代碼格式標準的問題,我覺得我都遵守的挺好,像雙目運算符前後要有空格啊、換行時運算符應該在行首啊、Tab都要換成四個Space啊什麼的。不過要是有不好的地方,希望指正。

7、對了,還有一點忘了說。就是這個程序雖然檢查了輸入值的正負等問題,但是如果輸入字元如:a、*、空格、漢字等,還是無法處理。魯棒性還有待提高。

附上兩個參考資料吧,分別是fflush()的網路介紹和printf()為什麼不會立即顯示的問題。

什麼斜邊最長?我發現我的答案才是最長。呵呵~

⑩ c語言求解已知三角形兩邊及其夾角,求第三邊

兩邊為a b,夾角為jc,第三邊為c。
#include <stdio.h>
#include <math.h>
#define pi 3.14159265
void main()
{
float a,b,jc,c;
printf("a=");
scanf("%f",&a);
printf("b=");
scanf("%f",&b);
printf("jc=");
scanf("%f",&jc);
c*c=a*a+b*b-2*a*b*cos(jc)
c=sqrt(a*a+b*b-2*a*b*cos(pi*jc/180));
printf("c=%f\n",c);