十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
#includestdio.h
创新互联建站主要从事网站设计、成都做网站、网页设计、企业做网站、公司建网站等业务。立足成都服务呼和浩特,10余年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:028-86922220
int main (void)
{
int N = 0, M = 0, i = 0, j = 0, x = 0, y = 0, n = 0;
char a[15][15] = { '-' };//部分初始化时,未初始化的元素初始值为0
scanf("%d%d%d%d", N, M, x, y);
for (i = 0; i N; i++) //将N*M范围内的元素全部初始化为‘-’
for (j = 0; j M; j++)
a[i][j] = '-';
x -= 1;//数组下标从0开始,我们通常说的第一个元素是数组里第0个元素,故减一
y -= 1;
a[x][y] = 'S';
for (n = 1; nM||nN; n++){ //这里应该是在n大于等于M和N之后,停止循环,像你原来那样n15会在运行时造成数组越界
a[x + n][y + n] = '*';
a[x - n][y - n] = '*';
a[x + n][y - n] = '*';
a[x - n][y + n] = '*';
}
for (i = 0; iN; i++){
for (j = 0; jM; j++){
printf("%c", a[i][j]);
}
printf("\n");
}
return 0;
}
表示一个字符在控制台屏幕上的坐标。
COORD是Windows API中定义的一种结构,表示一个字符在控制台屏幕上的坐标。其定义为:
typedef struct _COORD {
SHORT X; // horizontal coordinate
SHORT Y; // vertical coordinate
} COORD;
扩展资料
coord_ 系列函数可以改变xy轴的位置,默认使用 coord_cartesian(),可以改变成如下几种
coord_cartesian 默认情况,指定参数则控制图形特定区域放大显示。
coord_fixed 图形伸缩变换
coord_flip 横纵坐标位置转换
coord_polar 弯曲横纵坐标(画饼图可以用)
coord_map 将地图变成球状展示(这个我们以后讲到地图再专门说)
coord_trans 转化数据
coord系列函数只影响图形展示,不影响内部数据的值。即使用原数据作图,再对图形进行变动。
参考资料来源:百度百科-coord
#include stdio.h
#include math.h
int main()
{
//输入格式:α,β,r β是纵轴的夹角
double angle_a,angle_b;
double radin;
double x,y,z;
scanf("%lf%lf%lf",angle_a,angle_b,radin);
x = radin*cos(angle_a);
y = radin*sin(angle_a);
z = radin*cos(angle_b);
printf("%lf\t%lf\t%lf\t",x,y,z);
return 0;
}
首先,matlab 本身提供了把直角坐标转化为极坐标的函数 cart2pol。调用方法为:
[TH,R] = cart2pol(X,Y) TH 是极坐标的角度坐标,R 是距离坐标。
[TH,R,Z] = cart2pol(X,Y,Z) 这个函数同时支持3维直角坐标到柱坐标的转换。
如果因为是作业或者练习,一定要自己写一个的话,请继续往下看。
考虑到这个程序的性质,编成一个函数比较适合。编写这个函数需要用到直角坐标与极坐标的数学关系。考虑到输入参数可能是一个向量或矩阵,关系式里面的运算符应该用加点运算符。
函数代码如下:
function [ TH,R ] = mycart2pol(X,Y)
%this function transforms corresponding elements of data
%stored in Cartesian coordinates X,Y to polar coordinates
%angle TH and radius R.
R=(X.^2+Y.^2).^0.5;
TH=atan(Y./X);
end
测试结果如下: