当前位置:首页 » 编程语言 » 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);