关于三角形面积公式的
#include<stdio.h>
#include<math.h>
void main()
{
double a, b, c, s, area;
scanf_s("%lf,%lf,%lf", &a, &b, &c);
s = 1.0 / 2 * (a + b + c);
area = sqrt(s*(s - a)*(s - b)*(s - c));
printf("a=%7.2lf,b=%7.2lf,c=%7.2lf,s=%7.2lf\n", a, b, c, s);
printf("area=%7.2lf\n", area);
system("pause");
}
不管中间是逗号还是空格,写入的值都不对,这是啥情况?
还有就是求大佬说一下“%7.2lf”7.2的含义是什么
代码是无误的,一定是运行后输入时漏输或者输错英文的逗号。
在scanf的引号里出现任何字符都是合法的,但输入时的输入格式必须和scanf()的格式控制字符串相对应。
%7.2lf中的7是数据长度为七个字符的意思,若数据长度不够的话,左补空格;.2是表示对实数小数点后保留两位的意思。
中间逗号,你用的是中文的逗号吧??
%7.2lf 输出宽度为7,保留两位小数的精度
输入逗号 是可以通过的,请注意输入的是英文逗号“,”还是中文逗号“,”
%7.2f 一般这么写,就是打印出浮点数总长度占7个字符的位置,其中保留两位小数
不足7位情况,前面补空格
兄 die 你的输入格式 应该是 3.0,4.0,5.0, 注意 要加上“,” 因为你的输入格式scanf里写的就是加上“,”
不知道你这个问题是否已经解决, 如果还没有解决的话: