Iphone 需要一些指针吗
我想用c语言编写一个程序来计算螺栓圆模式中的x,y坐标。我的数学部分是对的,但我不知道如何让它首先列出起始角度和坐标,而不是最后一个,以及不超过360度的度数。代码如下:Iphone 需要一些指针吗,iphone,c,Iphone,C,我想用c语言编写一个程序来计算螺栓圆模式中的x,y坐标。我的数学部分是对的,但我不知道如何让它首先列出起始角度和坐标,而不是最后一个,以及不超过360度的度数。代码如下: #include <stdio.h> #include <math.h> int main() { float x; //x location float y; //y location float h; //# of holes
#include <stdio.h>
#include <math.h>
int main()
{
float x; //x location
float y; //y location
float h; //# of holes
float d; //diameter of bc
float a; //starting angle
int n; //hole count
printf("enter dia of circle\n");
scanf("%f", &d);
printf("enter number of holes\n");
scanf("%f", &h);
printf("enter starting angle, counter clockwise from 3:00\n");
scanf("%f", &a);
float r = d / 2; //radius
float k = 360 / h; //degrees between holes
for (n = 0; n < h; n++) {
a = a + k;
x = r * (cos(a * M_PI / 180));
y = r * (sin(a * M_PI / 180));
printf("%.3f, %.3f, %.2f\n", x, y, a);
}
return 0;
}
#包括
#包括
int main()
{
浮点x;//x位置
浮动y;//y位置
浮动h;/#孔
浮点数d;//bc的直径
浮动a;//起始角度
int n;//孔数
printf(“输入圆的直径”);
scanf(“%f”、&d);
printf(“输入孔数\n”);
扫描频率(“%f”、&h);
printf(“输入起始角度,从3:00开始逆时针\n”);
scanf(“%f”、&a);
浮点r=d/2;//半径
浮动k=360/h;//孔之间的角度
对于(n=0;n
我在c中这样做是为了得到正确的代码,然后我将它放在iPhone的objective c中,列出每个x&y坐标和角度的输出的最佳方式是什么?例如,我会使用表视图吗?谢谢你的建议。我建议用类似以下内容的内容替换
a=a+k
:
float base_a;
printf("enter starting angle, counter clockwise from 3:00\n");
scanf("%f", &base_a);
for (n = 0; n < h; n++) {
a = base_a + n*k;
float base_a;
printf(“输入起始角度,从3:00开始逆时针\n”);
scanf(“%f”和base_a);
对于(n=0;n
重复添加浮点数会导致错误增加。也许这无关紧要(毕竟,您只使用float
s而不是double
s——但是float
s的错误累积“更快”,而不是double
s,因此这是一个更紧迫的问题)但解决方法很简单:将差值与计数相乘,然后将其加到一个常数基上
我也有点担心比较
n
-n
是一个int
,而h
是一个float
。虽然我通常担心浮点循环变量,但我更担心的是一个用于孔数的float。这就是问题所指定的吗?我建议重新计算ga=a+k
更像这样:
float base_a;
printf("enter starting angle, counter clockwise from 3:00\n");
scanf("%f", &base_a);
for (n = 0; n < h; n++) {
a = base_a + n*k;
float base_a;
printf(“输入起始角度,从3:00开始逆时针\n”);
scanf(“%f”和base_a);
对于(n=0;n
重复添加浮点数会导致错误增加。也许这无关紧要(毕竟,您只使用float
s而不是double
s——但是float
s的错误累积“更快”,而不是double
s,因此这是一个更紧迫的问题)但解决方法很简单:将差值与计数相乘,然后将其加到一个常数基上
我也有点担心比较
n
-n
是一个int
,而h
是一个float
。虽然我通常担心浮点循环变量,但我更担心的是用于孔数的float。这就是问题所指定的吗?只是一个建议-试试看为变量命名是有意义的。例如,[float h;//#of holes]也可以写为[float numberOfHoles;],这会否定注释,并使代码的其他区域更具可读性:[For(int holecoount=0;holecoountfor(int h=0;h对我来说更有意义。:)只是一个建议-试着给变量命名一些有意义的东西。例如,[float h;/#of holes]也可以写成[float numberOfHoles;]这将否定注释,并使代码的其他区域更具可读性:[for(int-holecoount=0;holecoountfor(int-h=0;h对我来说更有意义。:)我将h改为int,不需要是浮点数。这让我达到了需要的程度。谢谢你的帮助。对问题的第二部分有什么建议吗?对不起,我不知道足够的iOS来帮你解决这部分问题——我建议取消选择我的答案,希望其他人能给出答案你可以给我一个更好的答案。没关系,我会弄明白的。学习过程的所有部分。再次感谢。我将h改为int,不需要是浮点。这让我达到了需要的程度。谢谢你的帮助。对问题的第二部分有什么建议吗?对不起,我知道的iOS不够多,无法帮助你回答问题的这一部分不要选择我的答案,希望其他人能给你一个更好的答案。没关系,我会找到答案的。这都是学习过程的一部分。再次感谢。