C语言编程序时怎么控制浮点型输出的小数点精确到几位
使用输出格式说明符来指定精确到小数点位数。
如:
void main()
{
float a=345.234678;
printf("%.3f\n", a) ;
}
其中%.3f里的3就表示输出精确到小数点后3位。
所以可参考的形式是printf("%m.nf",p);
%m.nf,指定输出的数据共占m列,其中有n位是小数。如果数值长度小于m,则左端补空格,若数值长度大于m,则按实际位数输出。
扩展资料:
实型变量分为两类:单精度型和双精度型,
其类型说明符为float 单精度说明符,double 双精度说明符。在Turbo C中单精度型占4个字节(32位)内存空间,其数值范围为3.4E-38~3.4E+38,只能提供七位有效数字。双精度型占8 个字节(64位)内存空间,其数值范围为1.7E-308~1.7E+308,可提供16位有效数字。
实型变量说明的格式和书写规则与整型相同。
例如: float x,y; (x,y为单精度实型量)
double a,b,c; (a,b,c为双精度实型量)
实型常数不分单、双精度,都按双精度double型处理。
参考资料:浮点型数据
可以通过输出格式说明符来指定精确到小数点后几位。
比如:
printf("%.5f\n", 3.1415927) // 输出_ 3.14159 (其中_ 代表空格)
上面的输出格式说明符%.5f 中各部分意思如下:
%f 浮点数;
".5”——(5的前面有个小数点)表示输出精确到小数点后5位。如果实际数字不足5位,则在末尾补0,若大于5位,则按四舍五入取前五位。
拓展资料:
C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。
尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。
二十世纪八十年代,为了避免各开发厂商用的C语言语法产生差异,由美国国家标准局为C语言制定了一套完整的美国国家标准语法,称为ANSI C,作为C语言最初的标准。2011年12月8日,国际标准化组织(ISO)和国际电工委员会(IEC)发布的C11标准是C语言的第三个官方标准,也是C语言的最新标准,该标准更好的支持了汉字函数名和汉字标识符,一定程度上实现了汉字编程。
C语言是一门面向过程的计算机编程语言,与C++,Java等面向对象的编程语言有所不同。
1.
#include <stdio.h>
void main()
{
//计算圆周长、圆面积、圆球表面积、圆球体积、圆柱体积
float r,h,c,s,s1,v,v1;//定义了三个浮点型变量
const float pi=3.14;//定义了一个符号常量
printf("请输入圆的半径:");
scanf("%f",&r);//从键盘输入一个半径值
printf("请输入圆柱的半径:");
scanf("%f",&h);//从键盘出入圆柱的高
c=2*pi*r;//计算圆的周长
s=pi*r*r;//计算圆的面积
s1=4*pi*r*r;//计算圆球的表面积
v=4*pi*r*r*r/3;//计算圆球的体积
v1=s*h;//计算圆柱的体积
printf("圆半径为%.2f,圆柱高%.2f\n",r,h);//分别输出圆的周长,面积,表面积
printf("圆的周长为%.2f\n",c); //,体积和圆柱的体积,并且小数点后保留二位有效数字
printf("圆的面积为%.2f\n",s);
printf("圆球的表面积为%.2f\n",s1);
printf("圆球的体积为%.2f\n",v);
printf("圆柱的体积为%.2f\n",v1);
}
2.1
#include<stdio.h> /*C程序代码*/
void main()
{
//打印菱形图案
int i,j,k;
for(i=0;i<4;i++)
{
for(j=0;j<=2-i;j++)
printf(" ");
for(k=0;k<=2*i;k++)
printf("*");
printf("\n");
}
for(i=0;i<3;i++)
{
for(j=0;j<=i;j++)
printf(" ");
for(k=0;k<=4-2*i;k++)
printf("*");
printf("\n");
}
}
2.2
#include <stdio.h>
void main()
{
//在屏幕上输出平行四边型
int i,j,k;
for(i=0;i<=5;i++)
{
{for(j=1;j<=i;j++)
printf(" ");
for(k=1;k<=5;k++)
printf("* ");
printf("\n");
}
}
}
3.
#include <stdio.h>
void main()
{
//按从小到大的顺序输出三个数
int a,b,c,mid;//定义了四个整型变量
printf("请输入三个整数:");
scanf("%d%d%d",&a,&b,&c);//从键盘给这三个变量赋值
if(a>b)
//将a和b中的数值进行交换
if(b>c)
//将b和c的中数值进行交换
if(a>b)
//将a和b的中数值进行交换
printf("排序后依次为:\n");
printf("%d\t%d\t%d\t\n",a,b,c);//输出这三个变量的值
}
4.
#include <stdio.h>
#define N 5
struct student
{
char num[6];
char name[8];
float score[4];
}stu[N];
void main()
{
int i,j;
void print(struct student stu[6]);
for(i=0;i<N;i++)
{
printf("请输入学生的成绩:",i+1);
printf("NO.:");
scanf("%s",stu[i].num);
printf("name:");
scanf("%s",stu[i].name);
for(j=0;j<3;j++)
{
printf("score%d:",j+1);
scanf("%f",&stu[i].score[j]);
}
printf("\n");
}
print(stu);
}
void print(struct student stu[6])
{
int i,j;
printf("NO. name score1 score2 score3\n");
for(i=0;i<N;i++)
{
printf("%s\t%s\t",stu[i].num,stu[i].name);
for(j=0;j<3;j++)
printf("%8.2f",stu[i].score[j]);
printf("\n");
}
}
%m.nf,指定输出的数据共占m列,其中有n位是小数。如果数值长度小于m,则左端补空格,若数值长度大于m,则按实际位数输出。
还有一种:%-m.nf,与%m.nf基本相同。只是数值长度小于m,则右端补空格。而%m.nf是如果数值长度小于m,则左端补空格
最小域宽m
精度n:%f,%e,%E时,确定显示小数点后位数