{
int pen,pencil
for(pencil=0pencil<=100pencil+=2)
{
pen=100-pencil
if(pen*5+pencil/2==100)break
}
if(pencil>100)
printf(“无解!”)
else
printf(“钢笔:%d支,铅笔:%d支。\n”,pen,pencil)
}
因为等腰三角形和直角三角形不是按同一条件进行划分的,所以它们的关系是并列的,┱Sévén的程序有点逻辑错误,我把它改了一下,调试过,应该没问题
#include<stdio.h>+
void
main()
{
//a,b,c用来记录输入的三条边长
float
a,b,c
scanf("%f%f%f",&a,&b,&c)
if(a>0
&&
b>0
&&
c>0
&&
a+b>c
&&
a+c>b
&&
b+c>a)//判断三边长能否构成三角形
{
if(a==b
&&
b==c)
printf("等边")//判断是否是等边三角形
else//如果不是
{
if(a==b
||
a==c
||
b==c)
printf("等腰")//判断是否是等腰三角形
if(a*a+b*b==c*c
||
a*a+c*c==b*b
||
b*b+c*c==a*a)
printf("直角")//判断是否是直角三角形
else
printf("任意")//如果都不是,则输出"任意"
}
}
else
printf("不是")//如果不能构成三角形则输出"不是"
printf("三角形\n")
}