永发信息网

C语言问题求助,第一次学C语言,作业题目中有一道是判定一个数是不是三角形数(triangular number)

答案:3  悬赏:70  手机版
解决时间 2021-03-15 21:28
  • 提问者网友:龅牙恐龙妹
  • 2021-03-15 02:34
三角形数是由1+2+3+4...的和组成的,0也是三角形数,所以三角形数的顺序是0,1,3,6,10,15,21,....,我写的程序判定的时候有错,求纠正啊,谢过~~

#include<stdio.h>
void main()
{int triangle(int t);
int n;
printf("Enter the next number:");
scanf("%d",&n);
triangle(n);
}
int triangle(int t)
{
int i,sum=0;
for (i=0;i<t;i++)
sum=sum+i;
if (sum==t)break;
printf("The number is triangular\n");
else printf("The number is not triangular\n");
getch();
}
这个题目有个很麻烦的要求,是要写一个function:int triangle(int t) 来做运算(题目要求。。),因为这只是整个程序中的一段。。。子程序里面的for..if...else估计错了,怎么改呀~~
最佳答案
  • 五星知识达人网友:独钓一江月
  • 2021-03-15 03:28
int triangle(int t)这个函数你在做什么?求出来sum,却不输出。
改成
void triangle(int t)
{
int i,sum=0;
for (i=0;i<t;i++)
sum=sum+i;
printf("%d\n",sum);
}
全部回答
  • 1楼网友:不想翻身的咸鱼
  • 2021-03-15 06:25
#include <stdio.h> #include <math.h> #include <conio.h> int main(void) {     double co[3][2]; // 3个点的坐标。。      double a[3]; // 3条边长。。      double p; // 边长和的一半。。      double s; // 边长的平方。。      double area; // 面积。。      int i, j;     for (i = 0; i < 3; i++)     {         printf("请输入第%d个点的横坐标与纵坐标: ", i+1);         scanf("%lf%lf", &co[i][0], &co[i][1]);     }     for (i = 0; i < 3; i++)     {         j = (i + 1) % 3;         s = (co[i][0] - co[j][0]) * (co[i][0] - co[j][0]) + (co[i][1] - co[j][1]) * (co[i][1] - co[j][1]);         a[i] = pow(s, 0.5);     }     p = (a[0] + a[1] + a[2]) / 2;     area = pow(p * (p - a[0]) * (p - a[1]) * (p - a[2]), 0.5);     printf("三角形面积为: %g\n", area);      getch();     return (0); }
  • 2楼网友:一袍清酒付
  • 2021-03-15 05:08
你 这个 错的狠狠!!!! 唉。。。。。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯