当前位置:首页 » 编程语言 » c语言算多边形内角和
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言算多边形内角和

发布时间: 2022-12-13 11:46:38

‘壹’ 电脑c语言编程多边形内角和

输入是边的个数么,利用公式 内角和=180*(边个数-2) 就可以了

代码的话(无输入检测,无输入提示的简单代码):
#include <stdio.h>
int main()
{
int a;
scanf("%d",&a);
printf("%d\n",180*(a-2) );
return 1;
}

‘贰’ 用c语言写计算多边形面积怎麽写啊,在线等待

对于凸对边形,可以切分成n-2个三角形,每个三角形的面积用如下公式求得:

求三角形面积:给出三角形的三个边长为a,b,c,求三角形的面积。
根据海伦公式来计算三角形的面积: S= ;Area=
1.输入的三角形三边长a,b,c要满足“任意两边长的和大于第三边长”。
2.按海伦公式计算:s=(a+b+c)/2;x=s*(s-a)*(s-b)*(s-c) 这时若x>=0,则求面积:area= ,并输出area的值。

C++代码如下:
#include <cmath>
#include <iostream>
using namespace std;
double point[1000000][2],A;
int m;
double det(double x1,double y1,double x2,double y2)
{
return x1*y2-x2*y1;
}

double area()
{
int i;
float temp=0;
for(i=0;i<m-1;i++)
{
temp+=det(point[i][0],point[i][1],point[i+1][0],point[i+1][1]);
}
temp+=det(point[i][0],point[i][1],point[0][0],point[0][1]);
return temp/2;
}
int main()
{
int i;
while (scanf("%d",&m)!=EOF)
{
if (m==0)break;
for (i=0;i<m;i++)
{
cin>>point[i][0]>>point[i][1];
}
printf("%.1f\n",area());
}
return 0;
}

‘叁’ 什么是C语言

C语言是Combined Language(组合语言)的中英混合简称。是一种计算机程序设计语言。它既具有高级语言的特点,又具有汇编语言的特点。它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。因此,它的应用范围广泛,不仅仅是在软件开发上,而且各类科研都需要用到C语言,具体应用比如单片机以及嵌入式系统开发。
[编辑本段]应用实例
1.功能:求三个整数的平均值。程序如下: #include <stdio.h> /*载入头文件stdio.h*/ void main() /*主函数main*/ { int a,b,c,d; /*定义a,b,c,d为整型变量*/ a=105; b=75; c=85; d=(a+b+c)/3; printf("d=%d\n",d); /*显示"d=某数"并换行,某数是d的值*/ getchar(); /*等待用户,按任意键退出*/ return 0; } 2.功能:由键盘输入多边形的边数,求其内角和。程序如下: #include <stdio.h> int main() { /*辨别多边形是否成立,不成立重新执行do-while语句间的命令*/ do { int x; printf("n="); scanf("%d",&x); /*由键盘输入x的值*/ printf("%d\n",(x-2)*180); /*显示内角和,公式为(x-2)*180*/ /*辨别多边形是否成立,不成立显示“Error”,成立显示“Right”*/ if (x<=2) printf("Error\n"); else printf("Right\n"); } while (x<=2); /*do-while语句*/ getchar(); return 0; } 3.功能:由键盘输入两个数,显示器上显示较大数。程序如下: #include <stdio.h> int big(int,int); /*创建整型变量函数big*/ void main() { int x,y; scanf("%d,%d",&x,&y); printf("big is %d\n",big(x,y)); /*输出big函数的值,因为main函数与用户自定义函数big无关系,所以printf后的输出项表是big(x,y),而不是big(n1,n2)*/ getchar(); return 0; } int big(int n1,int n2) /*用户自定义函数big*/ { if (n1>n2) return n1; /*返回n1值*/ else return n2; /*返回n2值*/ } 4.功能:由键盘输入一个等腰三角形的层数,画一个这样的三角形。程序如下: #include <stdio.h> void main() { int i,j,n; printf("n:"); scanf("%d",&n); for (i=1;i<=n;i++) /*循环n次,每次输出一行*/ { for (j=i;j<=n-i;j++) /*输出该行前面的空格*/ printf(" "); for (j=1;j<=2*i-1;j++) /*输出该行中的星号*/ printf("*"); printf("\n"); } getchar(); return 0; } 注释:不能输入太多的行数,如10000。 5.功能:由键盘输入一个最大值,求2到这个最大值中的所有质数(素数)。程序如下: #include <stdio.h> #include <math.h> /*数学文件*/ void main() { int n,m,flag,i,j,num=1; printf("n:"); scanf("%d",&n); printf("2~%d:\n",n); for (i=2;i<=n;i++) /*循环查找质数*/ { flag=1; m=(int)sqrt(i); for (j=2;j<=m;j++) if (i%j==0) /*条件为真时表示不是质数,退出for循环*/ { flag=0; break; } if (flag==1) /*条件为真时表示i是质数*/ { printf("M",i); if (num++==10) /*每行最多输出10个数*/ { printf("\n"); num=1; } } } printf("\n"); getchar(); return 0; } 6.功能:显示保护屏幕。程序如下:(此程序只能在TC下编译,在其他编译器编译会报错) #include <stdlib.h> /*综合库*/ #include <graphics.h> /*绘图库*/ void main() { int gdriver=DETECT; /*定义图象驱动器为DETECT*/ int gmode=DETECT; /*定义图象模式为DETECT*/ long n; /*定义长型变量n*/ initgraph(&gdriver,&gmode,"E:\TC\bgi"); /*进入图象状态(警告:""之间的是图象驱动器的路径,建议网友们设置为空,即只有"",或设为编程系统的路径,例路径是C:\TC,那么就是输入C:\TC\bgi)*/ sleep(1); /*暂停一秒,以保证无误差进入图象状态*/ for (n=1;n<=40000000;n++) /*画40000000个圆*/ { setcolor(rand()); /*作图颜色随机*/ circle(random(639),random(639),25); /*画圆,位置随机,半径为25*/ } getchar(); return 0; } 7.功能:读取一个文件,并以16进制显示。以下为程序源代码(改天再写注释,大家自己理解吧): /* Program 12.6 Viewing the contents of a file */ #include <stdio.h> #include <ctype.h> #include <string.h> #define DISPLAY 80 #define PAGE_LENGTH 20 int main(int argc, char *argv[]) { char filename[80]; FILE *pfile; unsigned char buffer[DISPLAY - 1]; int count = 0, lines = 0, i = 0; if(argc == 1) { printf("Please enter a filename: "); gets(filename); } else strcpy(filename, argv[1]); if((pfile = fopen(filename, "rb")) == NULL) { printf("Sorry, can't open %s", filename); return -1; } while(!feof(pfile)) { if(count < sizeof buffer) buffer[count++] = (unsigned char)fgetc(pfile); else { for(count = 0;count < sizeof buffer;count++) printf("%02X ", buffer[count]); printf("| "); for(count = 0;count < sizeof buffer;count++) printf("%c", isprint(buffer[count]) ? buffer[count]:'.'); printf("\n"); count = 0; if(!(++lines%PAGE_LENGTH)) if(getchar() == 'E') return 0; } } for(i = 0;i < sizeof buffer;i++) if(i < count) printf("02X ", buffer[i]); else printf(" "); printf("| "); for(i = 0;i < count;i++) printf("%c", isprint(buffer[i]) ? buffer[i]:'.'); printf("\n"); fclose(pfile); pause(); return 0; }

‘肆’ C语言中的每个符号分别是什么意思

1.功能:求三个整数的平均值。程序如下:
#include <stdio.h> /*载入头文件stdio.h*/
void main() /*主函数main*/
{
int a,b,c,d; /*定义a,b,c,d为整型变量*/
a=105;
b=75;
c=85;
d=(a+b+c)/3;
printf("d=%d\n",d); /*显示"d=某数"并换行,某数是d的值*/
getchar(); /*等待用户,按任意键退出*/
return 0;
}

2.功能:由键盘输入多边形的边数,求其内角和。程序如下:
#include <stdio.h>
void main()
{
/*辨别多边形是否成立,不成立重新执行do-while语句间的命令*/
do
{
int x;
printf("n=");
scanf("%d",&x); /*由键盘输入x的值*/
printf("%d\n",(x-2)*180); /*显示内角和,公式为(x-2)*180*/
/*辨别多边形是否成立,不成立显示“Error”,成立显示“Right”*/
if (x<=2)
printf("Error\n");
else
printf("Right\n");
}
while (x<=2); /*do-while语句*/
getchar();
return 0;
}

3.功能:由键盘输入两个数,显示器上显示较大数。程序如下:
#include <stdio.h>
int big(int,int); /*创建整型变量函数big*/
void main()
{
int x,y;
scanf("%d,%d",&x,&y);
printf("big is %d\n",big(x,y));
/*输出big函数的值,因为main函数与用户自定义函数big无关系,所以printf后的输出项表是big(x,y),而不是big(n1,n2)*/
getchar();
return 0;
}
int big(int n1,int n2) /*用户自定义函数big*/
{
if (n1>n2)
return n1; /*返回n1值*/
else
return n2; /*返回n2值*/
}

4.功能:由键盘输入一个等腰三角形的层数,画一个这样的三角形。程序如下:
#include <stdio.h>
void main()
{
int i,j,n;
printf("n:");
scanf("%d",&n);
for (i=1;i<=n;i++) /*循环n次,每次输出一行*/
{
for (j=1;j<=n-i;j++) /*输出该行前面的空格*/
printf(" ");
for (j=1;j<=2*i-1;j++) /*输出该行中的星号*/
printf("*");
printf("\n");
}
getchar();
return 0;
}
注释:不能输入太多的行数,如10000。

5.功能:由键盘输入一个最大值,求2到这个最大值中的所有质数(素数)。程序如下:
#include <stdio.h>
#include <math.h> /*数学文件*/
void main()
{
int n,m,flag,i,j,num=1;
printf("n:");
scanf("%d",&n);
printf("2~%d:\n",n);
for (i=2;i<=n;i++) /*循环查找质数*/
{
flag=1;
m=(int)sqrt(i);
for (j=2;j<=m;j++)
if (i%j==0) /*条件为真时表示不是质数,退出for循环*/
{
flag=0;
break;
}
if (flag==1) /*条件为真时表示i是质数*/
{
printf("%4d",i);
if (num++%10==0) /*每行最多输出10个数*/
printf("\n");
}
}
printf("\n");
getchar();
return 0;
}

6.功能:显示保护屏幕。程序如下:
#include <stdlib.h> /*综合库*/
#include <graphics.h> /*绘图库*/
int main()
{
int gdriver=DETECT; /*定义图象驱动器为DETECT*/
int gmode=DETECT; /*定义图象模式为DETECT*/
long n; /*定义长型变量n*/
initgraph(&gdriver,&gmode,"E:\TC\bgi");
/*进入图象状态(警告:""之间的是图象驱动器的路径,建议网友们设置为空,即只有"",或设为编程系统的路径,例路径是C:\TC,那么就是输入C:\TC\bgi)*/
sleep(1); /*暂停一秒,以保证无误差进入图象状态*/
for (n=1;n<=40000000;n++) /*画40000000个圆*/
{
setcolor(rand()); /*作图颜色随机*/
circle(random(639),random(639),25); /*画圆,位置随机,半径为25*/
}
getchar();
return 0;
}

‘伍’ c语言中的函数问题,帮帮忙

/*解一元二次方程*/

#include<stdio.h>
#include<math.h>
void main()
{
int a,b,c,i=1;
float x1,x2,dlt;
do
{
printf("Please input three numbers:");
scanf("%d%d%d",&a,&b,&c);

do
{ i++;
if(a==0)
{
printf("Input error.Please input again:");
scanf("%d%d%d",&a,&b,&c);
}
else
{
dlt=b*b-4*a*c;
if(dlt<0)
printf("该方程无实根。\n\n");
else
{
x1=(-1*b+sqrt(dlt))/(2*a);
x2=(-1*b-sqrt(dlt))/(2*a);
}
}
}while(a==0);
if(dlt<0)
printf("");
else
printf("x1=%f\nx2=%f\n\n",x1,x2);
}while(i<=3); /*循环三次*/
}

一定要用函数吗?这个没必要用函数,用函数还更复杂。一定要的话,自己稍微改一改就行了!