为什么我的输出是无穷大?你能找出程序中的错误吗?

苏克里特·卡皮尔

问题是输入 10 个点 (x,y)。程序应该找到连续点之间的距离,并将输出作为“距离总和”或第一个和最后一个点之间的距离。我正在使用 Ubuntu 18.04 LTS 终端。

程序运行

输入

(Enter the coordinates of the 10 points.)
1.000000 2.000000 
3.000000 4.000000 
5.000000 6.000000 
7.000000 8.000000 
9.000000 10.000000 
11.000000 12.000000 
1.000000 13.000000 
14.000000 15.000000 
16.000000 17.000000 
18.000000 19.000000 

输出

Entered points:
1.000000 2.000000 
3.000000 4.000000 
5.000000 6.000000 
7.000000 8.000000 
9.000000 10.000000 
11.000000 12.000000 
1.000000 13.000000 
14.000000 15.000000 
16.000000 17.000000 
18.000000 19.000000 

Distance between first and last point is: inf.

代码

#include <stdio.h>
#include <math.h>
int main()
{
    int i,j;
    double points[10][2],dist = 0;
    printf("Enter the coordinates of the 10 points.\n");
    for(i=0;i<10;i++)
    {
        for(j=0;j<2;j++)
        {
            scanf("%lf",&points[i][j]);
        }
    }
    printf("Entered points:\n");
    for(i=0;i<10;i++)
    {
        for(j=0;j<2;j++)
        {
            printf("%f ",points[i][j]);
        }
        printf("\n");
    }
    printf("\n");

    for(i=0;i<10;i++)
    {
        dist = dist + sqrt(pow((points[i][0]-points[i+1][0]),2)+pow((points[i][1]-points[i+1][1]),2));        
    }
    printf("Distance between first and last point is: %f.\n",dist);
    return 0;
 }
克雷格·埃斯蒂

您的 [第三个]for循环正在遍历数组的末尾,并且您正在获取垃圾/未定义的数据。

在您的计算循环中,您正在使用 (eg) points[i+1][0]在最后一次迭代中,i将是9,因此i+1将是 10。这是最后一次

将循环数减少到 9。您正在比较,因此您需要减少计数。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么输出变成无穷大

来自分类Dev

为什么我得到 0 作为输出?你能找出错误吗?

来自分类Dev

为什么我的方法返回无穷大?

来自分类Dev

你能帮我找出这段代码中的错误吗?我似乎不明白为什么它不起作用?

来自分类Dev

为什么无穷大==无穷大== 1/0为假?

来自分类Dev

为什么比较浮点数和无穷大?

来自分类Dev

为什么整数被认为是正无穷大?

来自分类Dev

为什么0/0是NaN而不是Javascript中的无穷大

来自分类Dev

(C#)我应该在计算中注意无穷大/无穷大吗?即引发溢出异常?

来自分类Dev

Scala具有无穷大但无穷小。为什么?

来自分类Dev

有日期时间±无穷大吗?

来自分类Dev

错误:“无穷大”未命名类型

来自分类Dev

你能告诉我为什么我的命令会出现错误消息无效语法吗

来自分类Dev

TextBlock中的无穷大符号

来自分类Dev

区分opencl中的正负无穷大

来自分类Dev

榆木中的无穷大符号

来自分类Dev

javascript中的数字是无穷大?

来自分类Dev

是无穷大是Java中的NaN?

来自分类Dev

在动态编程硬币示例中使用无穷大-为什么这不会失败?

来自分类Dev

为什么Java在超过Double.Max_Value时返回正无穷大?

来自分类Dev

为什么_mm_mulhrs_epi16()总是将舍入舍入为正无穷大?

来自分类Dev

写一个无穷大的公式,为什么这不能按原样工作?

来自分类Dev

为什么浮点数不会溢出到无穷大

来自分类Dev

为什么在Android NDK上,大于FLT_MAX的浮点数不是无穷大?

来自分类Dev

负无穷大

来自分类Dev

来自 CodeFights 的 catchTheEggs 挑战:你能帮我找出我的错误吗?

来自分类Dev

回归函数中的负无穷大或正无穷大

来自分类Dev

回归函数中的负无穷大或正无穷大

来自分类Dev

如何在MATLAB中实现负无穷大到正无穷大?

Related 相关文章

  1. 1

    为什么输出变成无穷大

  2. 2

    为什么我得到 0 作为输出?你能找出错误吗?

  3. 3

    为什么我的方法返回无穷大?

  4. 4

    你能帮我找出这段代码中的错误吗?我似乎不明白为什么它不起作用?

  5. 5

    为什么无穷大==无穷大== 1/0为假?

  6. 6

    为什么比较浮点数和无穷大?

  7. 7

    为什么整数被认为是正无穷大?

  8. 8

    为什么0/0是NaN而不是Javascript中的无穷大

  9. 9

    (C#)我应该在计算中注意无穷大/无穷大吗?即引发溢出异常?

  10. 10

    Scala具有无穷大但无穷小。为什么?

  11. 11

    有日期时间±无穷大吗?

  12. 12

    错误:“无穷大”未命名类型

  13. 13

    你能告诉我为什么我的命令会出现错误消息无效语法吗

  14. 14

    TextBlock中的无穷大符号

  15. 15

    区分opencl中的正负无穷大

  16. 16

    榆木中的无穷大符号

  17. 17

    javascript中的数字是无穷大?

  18. 18

    是无穷大是Java中的NaN?

  19. 19

    在动态编程硬币示例中使用无穷大-为什么这不会失败?

  20. 20

    为什么Java在超过Double.Max_Value时返回正无穷大?

  21. 21

    为什么_mm_mulhrs_epi16()总是将舍入舍入为正无穷大?

  22. 22

    写一个无穷大的公式,为什么这不能按原样工作?

  23. 23

    为什么浮点数不会溢出到无穷大

  24. 24

    为什么在Android NDK上,大于FLT_MAX的浮点数不是无穷大?

  25. 25

    负无穷大

  26. 26

    来自 CodeFights 的 catchTheEggs 挑战:你能帮我找出我的错误吗?

  27. 27

    回归函数中的负无穷大或正无穷大

  28. 28

    回归函数中的负无穷大或正无穷大

  29. 29

    如何在MATLAB中实现负无穷大到正无穷大?

热门标签

归档