Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 需要一些指针吗_Iphone_C - Fatal编程技术网

Iphone 需要一些指针吗

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

我想用c语言编写一个程序来计算螺栓圆模式中的x,y坐标。我的数学部分是对的,但我不知道如何让它首先列出起始角度和坐标,而不是最后一个,以及不超过360度的度数。代码如下:

#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。这就是问题所指定的吗?

我建议重新计算g
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。这就是问题所指定的吗?

只是一个建议-试试看为变量命名是有意义的。例如,[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不够多,无法帮助你回答问题的这一部分不要选择我的答案,希望其他人能给你一个更好的答案。没关系,我会找到答案的。这都是学习过程的一部分。再次感谢。