c语言基础编程训练题菜鸟(c语言基础编程100道)
C语言菜鸟请教一个简单的编程题
#includestdio.h
void main()
{
int max(int x,int y,int z);
int a,b,c;
printf("please input 3 numbers:/n");//这里换行是'\n'不是'/n'
scanf("%d %d %d",a,b,c);
c=max(a,b,c);
printf("the max num is:%d",c);
}
max(int x,int y,int z)//这里虽然函数默认返回类型是整型,最好有个习惯,函数回返类型一定不要少 int max(int x,int y,int z)
{
int M;
if xy;//改为if(xy)
M=xz?x:z;
else
M=yz?y:z;
return M;
}
菜鸟问一道简单的C语言编程题
完整程序如下,我加的就是定义了一个函数AREA
#include stdio.h
#include math.h
//函数的定义,定义area=sqrt((s*(s-a)*(s-b)*(s-c))根号下的内容,返回一个值,在主函数里调用该函数
float AREA(float s,float a,float b,float c){
float X=s*(s-a)*(s-b)*(s-c);
return X;
}
void main()
{float a,b,c,area,s;
printf("\nInput a,b,c: ");
scanf("%f%f%f",a,b,c);
if(a+bc a+cb b+ca) /*判断是否能构成三角形*/
{ s=(a+b+c)/2;
area=sqrt(AREA(s,a,b,c));
printf("\narea=%f\n",area);
}
else printf("\nData error!\n");}
菜鸟问几道C语言编程题
1、
#includestdio.h
#includemath.h /*要用到求平方根sqrt函数*/
int pb(float a,float b,float c)
{
int t=0;
if(a+bca+cbb+caa0b0c0)t=1;
else t=0;
return(t);
}
float area(float a,float b,float c)
{
float area,p;
p=(a+b+c)/2;
area=sqrt(p*(p-a)*(p-b)*(p-c)); /*用海伦公式求*/
return (area);
}
main()
{
float a,b,c,k,s;
printf("Please input a,b,c:");
scanf("%f,%f,%f",a,b,c);
k=pb(a,b,c);
if(k==1)
{
s=area(a,b,c);
printf("s=%f",s);
}
else if(k==0)printf("Error!!!\n");
}
C语言 菜鸟题
因为你的那条赋值语句中,等号右边是两个整型进行运算,最终结果也一定是整型(这与等号左边的y无关),而且计算结果是小与1的小数,故取整后只能是零。
计算结果是根据所有参与运算数的类型来判断最终结果的类型的,原则是两两运算时尽量保持最大精度,而刚才的那行运算均为整型,故结果也只能是整型。
你可以这样试试:y=(js(3)+js(4)+js(5))/((float)js(6)+js(7));
将js(6)的结果转换成浮点型(转换任意一个都行),编译器为了保证最大精度,结果会以浮点型保存并显示。