C语言编程:“编写程序,求半径为r的圆的内接正n边形的面积.r和n由用户输入.”怎么做啊?求解。。。。

如题所述

#include<stdio.h>
#include<math.h>
#define PI 3.1415926
void main()
{
double s, r; //s表示面积,r表示半径
int n; //n表示正n边形的边数
printf("请输入圆的半径r:");
scanf("%lf",&r);
printf("请输入正n边形的边数n:");
scanf("%d",&n);
s = n * r * r * sin(2 * PI / n) / 2;
printf("圆的内接正%d边形的面积是%lf\n",n,s);
}

ps:这个是比较简单点的了,执行一次就自动退出程序了。。。没有加循环执行,而且对输入的数据类型,范围没有进行判断,所以要尽量减少输入的错误。。楼主也可以自己加上,不是很难的。。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-01-08
这个很简单,内接圆的边确定之后,它的内角和就确定了,每个角的度数也确定了,R又确定,所以内接正边形的面积也确定了,例如:内接5边形,内角可以通过(n-2)*180,所以每个角就为(n-2)*90/n,面积就为:n*R^2sin((n-2)*90/n)cos((n-2)*90/n)。算法很简单,自己琢磨一下吧,只要有编程基础的实现应该不是问题。