写“isTriangular”函数,它取一个正整数,如果给定的数字是三角形,则返回1;返回0,否则

时间:2016-11-04 11:29:32

标签: c

写isTriangular函数,它取一个正整数,如果给定的数字是三角形,则返回1;返回0,否则。

主要功能还可以,但是“isTriangular”功能中有一些我无法看到的错误,请帮帮我。三角形数字如下所示:

enter image description here

#include<stdio.h>
int isTriangular(int N)
{
    int sum = 0, n = 0;
    for (n; sum <= N; n++)
        sum += n;

    if (sum == N)
        return 1;
    else
        return 0;    
}


int main()
{
    int x;
    do
    {
        scanf("%d", &x);
        if (x > 0)
        {
            if (isTriangular(x))
                printf("%d is a triangular number\n", x);
            else
                printf("%d is NOT a triangular number\n", x);
        }
    }
    while (x > 0);
}

1 个答案:

答案 0 :(得分:2)

将终止条件从sum <= N更改为sum < N