
c语言编程改错8.11
程序的功能是:在主函数中输入三角形的三个边长,如果边长合理,则调用自定义函数求出三角形面积;如果边长不合理,则重新输入三个边长直至合理。程序中有4处错误,请修改并调试程序...
程序的功能是:在主函数中输入三角形的三个边长,如果边长合理,则调用自定义函数求出三角形面积;如果边长不合理,则重新输入三个边长直至合理。程序中有4处错误,请修改并调试程序。
#include <stdio.h>
#include <math.h>
main() //1
{ //2
float a,b,c;
printf("请输入三角形的三个边长值:\n"); //3
scanf("%f%f%f",&a,&b,&c);//4
while((a+b>c&&a+c>b&&b+c>a))//5
{printf("不能构成一个三角形!\n");//6
printf("请重新输入三角形的三个边长值:\n");//7
scanf("%f%f%f",&a,&b,&c);//8
}
printf("Area=%f\n",area(float a,float b,float c)); //9
}
area(float a,float b,float c) //10
{float s,area_s; //11
s=(a+b+c)/2.0; //12
area_s=sqrt(s*(s-a)*(s-b)*(s-c));//13
return area_s;//14
} 展开
#include <stdio.h>
#include <math.h>
main() //1
{ //2
float a,b,c;
printf("请输入三角形的三个边长值:\n"); //3
scanf("%f%f%f",&a,&b,&c);//4
while((a+b>c&&a+c>b&&b+c>a))//5
{printf("不能构成一个三角形!\n");//6
printf("请重新输入三角形的三个边长值:\n");//7
scanf("%f%f%f",&a,&b,&c);//8
}
printf("Area=%f\n",area(float a,float b,float c)); //9
}
area(float a,float b,float c) //10
{float s,area_s; //11
s=(a+b+c)/2.0; //12
area_s=sqrt(s*(s-a)*(s-b)*(s-c));//13
return area_s;//14
} 展开
4个回答
展开全部
#include <stdio.h>
#include <math.h>
float area(float a,float b,float c); //当子函数不在main函数之前的时候,这里要有函数声明~
main() //1
{ //2
float a,b,c;
printf("请输入三角形的三个边长值:\n"); //3
scanf("%f%f%f",&a,&b,&c);//4
while(!(a+b>c&&a+c>b&&b+c>a))//5 //这里应该加个非,因为原先的条件是判断能够成为三角形,要将它变为不是三角形的时候执行~楼上说的有误!!
{printf("不能构成一个三角形!\n");//6
printf("请重新输入三角形的三个边长值:\n");//7
scanf("%f%f%f",&a,&b,&c);//8
}
printf("Area=%f\n",area(a,b,c)); //9 //调用子函数不用加参数类型~
}
float area(float a,float b,float c) //10 //子函数应该有返回类型~
{float s,area_s; //11
s=(a+b+c)/2.0; //12
area_s=sqrt(s*(s-a)*(s-b)*(s-c));//13
return area_s;//14
}
展开全部
#include <stdio.h>
#include <math.h>
main() //1
{ //2
float a,b,c;
float area(float a,float b,float c);//这里原本没有声明area这个函数
printf("请输入三角形的三个边长值:\n"); //3
scanf("%f%f%f",&a,&b,&c);//4
while((a+b>c&&a+c>b&&b+c>a))//5
{printf("不能构成一个三角形!\n");//6
printf("请重新输入三角形的三个边长值:\n");//7
scanf("%f%f%f",&a,&b,&c);//8
}
printf("Area=%f\n",area(a,b,c)); //9这里不要加变量说明符
}
float area(float a,float b,float c) //10
{float s,area_s; //11
s=(a+b+c)/2.0; //12
area_s=sqrt(s*(s-a)*(s-b)*(s-c));//13
return area_s;//14
}
#include <math.h>
main() //1
{ //2
float a,b,c;
float area(float a,float b,float c);//这里原本没有声明area这个函数
printf("请输入三角形的三个边长值:\n"); //3
scanf("%f%f%f",&a,&b,&c);//4
while((a+b>c&&a+c>b&&b+c>a))//5
{printf("不能构成一个三角形!\n");//6
printf("请重新输入三角形的三个边长值:\n");//7
scanf("%f%f%f",&a,&b,&c);//8
}
printf("Area=%f\n",area(a,b,c)); //9这里不要加变量说明符
}
float area(float a,float b,float c) //10
{float s,area_s; //11
s=(a+b+c)/2.0; //12
area_s=sqrt(s*(s-a)*(s-b)*(s-c));//13
return area_s;//14
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
2.
没有函数声明
应添加 float area(float ,float ,float );
5.
应该是或(||),而不是与(&&)
改成while((a+b>c||a+c>b||b+c>a))
9.
函数调用不要加类型。
改成printf("Area=%f\n",area(a,b,c));
10.
函数定义没有写返回值类型
改成float area(float a,float b,float c)
没有函数声明
应添加 float area(float ,float ,float );
5.
应该是或(||),而不是与(&&)
改成while((a+b>c||a+c>b||b+c>a))
9.
函数调用不要加类型。
改成printf("Area=%f\n",area(a,b,c));
10.
函数定义没有写返回值类型
改成float area(float a,float b,float c)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include <stdio.h>
#include <math.h>
int main() //1
{ //2
float area(float a1,float b1,float c1);
float a,b,c;
printf("请输入三角形的三个边长值:\n"); //3
scanf("%f%f%f",&a,&b,&c);//4
while((a+b<c||a+c<b||b+c<a))//5
{printf("不能构成一个三角形!\n");//6
printf("请重新输入三角形的三个边长值:\n");//7
scanf("%f%f%f",&a,&b,&c);//8
}
printf("Area=%f\n",area(a,b,c)); //9
}
float area(float a1,float b1,float c1) //10
{
float s,area_s; //11
s=(a1+b1+c1)/2.0; //12
area_s=sqrt(s*(s-a1)*(s-b1)*(s-c1));//13
return area_s;//14
}
//你的很多错误!
#include <math.h>
int main() //1
{ //2
float area(float a1,float b1,float c1);
float a,b,c;
printf("请输入三角形的三个边长值:\n"); //3
scanf("%f%f%f",&a,&b,&c);//4
while((a+b<c||a+c<b||b+c<a))//5
{printf("不能构成一个三角形!\n");//6
printf("请重新输入三角形的三个边长值:\n");//7
scanf("%f%f%f",&a,&b,&c);//8
}
printf("Area=%f\n",area(a,b,c)); //9
}
float area(float a1,float b1,float c1) //10
{
float s,area_s; //11
s=(a1+b1+c1)/2.0; //12
area_s=sqrt(s*(s-a1)*(s-b1)*(s-c1));//13
return area_s;//14
}
//你的很多错误!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |