两道C语言编程题,大虾尽快帮帮忙

来源:百度知道 编辑:UC知道 时间:2024/09/23 07:19:15
1.有一个函数bool Fn(int a, int b, int c)a,b,c为三角形的三边,判断能否构成三角形,能返回true,否返回false.注:任意一边小于等于零就认为三角形不成立;任意两边之和小于等于第三边的话就认为三角形不成立;其他,三角形成立。试编写程序实现此功能。

2.请写出一个方程,求反复各位数之和 直到其和为一位为止,返回这个数字
例如: 5472576 => 5 +4 +7+2+5+7+6 =33 => 3+3 =6 返回的结果是6

请尽快给出具体代码,谢谢!

1
bool Fn(int a,int b,int c)
{
if(a<=0 || b<=0 || c<=0 || a+b<=c || a+c<=b || b+c<=a)
return false;
return true;
}
2
#include <stdio.h>

int Fn(int n)
{
int tmp=0;
if(n<10)
return n;
while(n>0)
{
tmp+=n%10;
n/=10;
}
return Fn(tmp);
}
void main()
{
printf("%d\n",Fn(5472576));
}
注意,你给的那个过程是错的5472576 => 5 +4 +7+2+5+7+6 =36 => 3+6 =9

1
bool Fn(int a, int b, int c)
{
if(a>0 && b>0 && c>0 && a+b>c && a+c>b && b+c>a)
return true;
return false;
}
2
int Fun(int n)
{
int i = 0;
if(n < 10)
return n;
while(n > 0)
{
i += n % 10;
n /= 10;
}
return Fun(i);
}

第一题

#include "stdio.h"
bool Fn(int a, int b, int c)
{
int tmp;