1.编写程序,将直角坐标值转化为极坐标。极坐标的公式是:
c= sqrt(x*x+y*y), q=arctan(y/x)
函数f的定义为:void fun(double x,double y,double *c,double *q),其中x, y为输入的直角坐标,指针c, q用于返回计算得到的极坐标值。
主程序读入x, y,输出c, q,其中c,q保留小数点后面两位。
acos()
的形参当然有范围,-1,至1,闭区间,基本的数学知识,如果朝界控制台会显示-1.#IND,表示数据超界;关于坐标的函数当然有,需要用到结构体COORD,以及头文件windows.h
具体代码如下:
#include
<windows.h>
#include
<stdio.h>
void
gotoxy(int
x,int
y)
{
COORD
coord
coord.X=x
coord.Y=y
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),coord)
}
void
main()
{
gotoxy(50,60)
printf("I
LOVE
YOU")
}
这个程序就实现了移动光标到指定位置,然后输出指定的内容。
参考代码如下:
函数头文件CalC.h
double arround(double x[],double y[],int p)函数定义文件CalC.c
#include <math.h>double arround(double x[],double y[],int p)
{
int i
double C=0 //周长
double l_p_i // 第i条边长度
for(i=0i<pi++)
{
l_p_i = sqrt((y[i+1]-y[i])*(y[i+1]-y[i]) + (x[i+1]-x[i])*(x[i+1]-x[i]))
printf("第%d条边长=%f\n",i+1,l_p_i)
C+=l_p_i
}
return C
}
主文件main.c
#include <stdio.h>#include "CalC.h"
int main(void)
{
double x[3] = {0.0,4.0,4.0}
double y[3] = {0.0,0.0,3.0}
int p=3
double C=0.0 //周长
C = arround(x,y,p)
printf("C=%f\n", C)
return 0
}
效果图