1138690780 发表于 2021-1-20 12:07:12

程序看不懂

//输入三角徐的三边长,求三角形面积。已知三角形的三边长为a,b,c,则该三角形的
//面积公式为: area=根号s*(s-a)*(s-b)*(s-c)
//            s=(a+b+c)/2

#include<math.h>
#include<stdio.h>
int main()
{
        float a,b,c,s,area;
        scanf("%f,%f,%f",&a,&b,&c);
        s=1.0/2*(a+b+c);
        area=sqrt(s*(s-a)*(s-b)*(s-c));
        printf("a=%7.2f,b=%7.2f,c=%7.2f,s=%7.2f\n",a,b,c,s);
        printf("area=%7.2f\n",area);
}

printf("a=%7.2f,b=%7.2f,c=%7.2f,s=%7.2f\n",a,b,c,s);

这里为什么是7.2f ?

jackz007 发表于 2021-1-20 12:43:53

本帖最后由 jackz007 于 2021-1-20 12:46 编辑

      "%7.2f" 是 printf() 在显示浮点数时使用的格式描述符,意思是,按 7 位域宽,2 位小数来显示浮点型量(常量、变量),7 位域宽的意思是用 7 个字符位置来打印这个数,如果实际输出不够 7 个字符,那就在这个数的左面用空格字符补齐;如果因为数字太大,实际输出超过 7 个字符,则 7 位域宽约束失效。

风过无痕1989 发表于 2021-1-20 12:44:57

输出7位,其中小数两位,不够7位前面补0
页: [1]
查看完整版本: 程序看不懂