求梯形的面积c语言

#include <stdio.h>
int main()
{
float a,b,c,s;
scanf("%d,%d,%d",&a,&b,&c);
s=(a+b)*c/2.0;
printf("%.2f\n",s);
return 0;
}
错在哪里为什么输出的答案是0 呢

你好:

scanf("%d,%d,%d",&a,&b,&c); 这句话是有问题的,因为格式字符串中的类型不匹配。

你定义的 a,b,c 变量均为浮点型,而格式字符串中的 %d 是十进制整型(decimal)的,应该改为 %f (float) 浮点型才匹配。同理,char 类型的变量需要用 %c (character)对应,char *类型的需要用 %s (string) 来对应。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-05-20
楼主你好,语言中确实有不妥之处,楼主试着把原句中的scanf("%d,%d,%d",&a,&b,&c);改成
scanf("%f%f%f",&a,&b,&c);,其具体原因楼主改过后就应该能明白
第2个回答  2013-05-20
scanf("%d,%d,%d",&a,&b,&c);
换成scanf("%f,%f,%f",&a,&b,&c);
第3个回答  2013-05-20
printf("%0.2f\n",s);将第七句话该成这个看看,还有你的输入也有误。应该是%f若还是不行,可能是你输入有误,按你这格式 应该是数字间以逗号分隔!
第4个回答  2013-05-20
类型是float 用的输入格式是%d 不匹配
用%f应该就可以了 你试试本回答被提问者采纳

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网