C语言编程序时怎么控制浮点型输出的小数点精确到几位

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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型处理。

参考资料:浮点型数据

参考技术A

可以通过输出格式说明符来指定精确到小数点后几位。
比如:
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等面向对象的编程语言有所不同。

参考技术B 你这几个题看起来简单,做起来很费时间呀,这几个题我已经调试完毕,你自己调试下看看,不知能否满足你的要求,哈哈!
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");

参考技术C printf("%m.nf",p);
%m.nf,指定输出的数据共占m列,其中有n位是小数。如果数值长度小于m,则左端补空格,若数值长度大于m,则按实际位数输出。
还有一种:%-m.nf,与%m.nf基本相同。只是数值长度小于m,则右端补空格。而%m.nf是如果数值长度小于m,则左端补空格
参考技术D %m.nf
最小域宽m
精度n:%f,%e,%E时,确定显示小数点后位数

C语言中double要输出几位小数?

C语言中double默认输出 6 位小数。

如果要控制输出小数位数,可以格式化输出。

printf("%.3lf ", d);   // "%.3lf"  .3 则是输出 3 位小数。

printf("%.4lf ", d);   // "%.4lf"  .4 则是输出 4 位小数 。

C语言兼顾了高级语言的汇编语言的优点,相较于其它编程语言具有较大优势。计算机系统设计以及应用程序编写是C语言应用的两大领域。同时,C语言的普适较强,在许多计算机操作系统中都能够得到适用,且效率显著。

扩展资料:

特点

1、简洁的语言

C语言包含有各种控制语句仅有9种,关键字也只有32 个,程序的编写要求不严格且多以小写字母为主,对许多不必要的部分进行了精简。实际上,语句构成与硬件有关联的较少,且C语言本身不提供与硬件相关的输入输出、文件管理等功能。

2、具有结构化的控制语句

C语言是一种结构化的语言,提供的控制语句具有结构化特征,如for语句、if⋯else语句和switch语句等。可以用于实现函数的逻辑控制,方便面向过程的程序设计。

3、丰富的数据类型

C语言包含的数据类型广泛,不仅包含有传统的字符型、整型、浮点型、数组类型等数据类型,还具有其他编程语言所不具备的数据类型,其中以指针类型数据使用最为灵活,可以通过编程对各种数据结构进行计算。 

4、丰富的运算符

c语言包含34个运算符,它将赋值、括号等均视作运算符来操作,使C程序的表达式类型和运算符类型均非常丰富。

5、可对物理地址进行直接操作

C语言允许对硬件内存地址进行直接读写,以此可以实现汇编语言的主要功能,并可直接操作硬件。c语言不但具备高级语言所具有的良好特性,又包含了许多低级语言的优势,故在系统软件编程领域有着广泛的应用。

6、代码具有较好的可移植性

c语言是面向过程的编程语言,用户只需要关注所被解决问题的本身,而不需要花费过多的精力去了解相关硬件,且针对不同的硬件环境,在用C语言实现相同功能时的代码基本一致,不需或仅需进行少量改动便可完成移植。

7、可生成的高质量目标代码,高执行效率的程序

与其他高级语言相比,C语言可以生成高质量和高效率的目标代码,故通常应用于对代码质量和执行效率要求较高的嵌入式系统程序的编写。

参考资料来源:百度百科-C语言

参考技术A

C语言中double默认输出 6 位小数(不足六位以 0 补齐,超过六位按四舍五入截断),可以根据自己的需要去修改输出的位数,例如输出两位小数:(%2lf)。

double可以表示十进制的15或16位有效数字。

扩展资料:

double负值取值范围为 -1.7976E+308 到 -4.94065645841246544E-324,正值取值范围为 4.94065645841246544E-324 到 1.797693E+308。

浮点类型:

1,单精度浮点型:float

2,双精度浮点型:double

3,复数浮点型:float_comlex,double_comple, long long_comple

浮点型数据:

1,loat型

编译系统为每一个float型变量分配4个字节,数值以规范化的二进制数指数形式存放在存储单元中。

2,double型

为了扩大能表示的数值范围,用8个字节存储一个double型数据,可以得到15位有效数字。

3,long double型

不同的编译系统对long double型的处理方法不同,Visual C++6.0对long double型和double一样处理,分配8个字节。

参考资料来源:百度百科-双精度浮点型

参考技术B

在C语言里面double默认输出6位小数。

double占8个字节(64位)内存空间,最多可提供16位有效数字,小数点后默认保留6位。如全是整数,最多提供15位有效数字。

例如:

doublea=1;

printf("%lf\\n",a);

输出会是

1.000000

扩展资料

C 语言输出双精度(double)数,使用printf()与%e输出双精度数:

#include<stdio.h>

intmain()

doubled;//声明双精度变量

d=12.001234;//定义双精度变量

printf("d的值为%e",d);

return0;

输出结果:

d的值为1.200123e+01

参考技术C

    C语言中double默认输出 6 位小数。

    如果要控制输出小数位数,可以格式化输出。

    printf("%.3lf ", d);   // "%.3lf"  .3 则是输出 3 位小数

    printf("%.4lf ", d);   // "%.4lf"  .4 则是输出 4 位小数 

参考技术D 默认6位,不过可以通过程序控制为想要的位数;如:printf("%12.15lf\n",x);表示输出占12格的小数位数为15为的x的值;printf("%.8lf\n",x);表示输出小数位数为8为的x的值。

以上是关于C语言编程序时怎么控制浮点型输出的小数点精确到几位的主要内容,如果未能解决你的问题,请参考以下文章

精度浮点型数据精确到了几位小数呢?

double精确到几位小数

用c语言浮点输出时,如何让小数点后没用的0不显示。

c语言如何让输出结果精确到两位小数

c语言如何控制小数位数?

关于C语言小数点后多少位的问题