C语言输出 浮点型数据输出

我这里定义了:int s;double t;s是一个从键盘输入的正整数,也可以为0,如scanf(“%d",&s)。现在不懂的是,我想输出保留s位的浮点型数据t,那么在printf("")这里应该怎么写?

 ##include <stdio.h>

int main(int argc, char** argv)
{
    double t;
    int s,m;
    scanf("%d",&m);    //占的位数,这个你可以不要
    printf("保留小数位数:");
   scanf("%d",&s);
   printf("输入数据:");
    scanf("%lf",&t);
    printf("%*.*lf\n",m, s, t);//就小数的话就写"%.*lf\n"
 return 0;
}

 

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2018-02-27

在c语言中可以通过精度限定符来控制浮点数输出的位数,精度限定符有一个点号后跟一个整数组成。其准确含义依赖于它所修饰的数据类型。示例如下:

#include <stdio.h>
int main()
{
printf("%.2lf\n", 1.2345678);
return 0;
}

第2个回答  推荐于2016-06-22
#include <stdio.h>
int main(void)
{
int s;
scanf("%d",&s);

double f = 2;
char ch[10] = {0};
sprintf(ch, "%%.%df\n", s);
//printf("%s\n", ch);
printf(ch, f);
return 0;
}追问

不是这个意思。我的意思是假如s是5,那么就要对t保留五位小数输出;假如s是10,那么就要对t保留10位小数输出。所以,对于键盘输入的s,(t也从键盘输入吧),对t保留s位的小数输出。谢谢谢谢!

追答

我的就是你说的意思,只是我的f (就是你的t)不是从键盘输入,你可以试试我的程序

本回答被提问者和网友采纳
第3个回答  2012-07-16
printf("%sf",t)
第4个回答  2012-07-16
printf("%.sf",t);

c语言中如何输出浮点格式?
printf("%7.3f",100\/3.0);表示结果占七位,小数部分占3位,这样就可以了,并且小数点后第三位是四舍五入的结果。例如:C语言中浮点数输出精确到两位小数的语句如下:double a=2.0;printf ("%.2f", a);\/\/其中.2指明两位小数 说明:如%9.2f 表示输出场宽为9的浮点数, 其中小数位为2, ...

c语言中浮点格式怎么输出?
printf("%f",fVal);\/\/这是浮点默认输出格式,小数点保留6位 printf("%.1f",fVal);\/\/.1是说明,小数点保留1位,对其后的数据进行四舍五入 printf("%.2f",fVal);\/\/.2是说明,小数点保留2位,对其后的数据进行四舍五入,你想保留几位,就用点几 printf("%10f",fVal);\/\/输出宽度为10个...

如何用c语言输出浮点数呢?
int main(){ float a,b,c,D,max;scanf("%f%f%f",&a,&b,&c);if(a>b)D=a;else D=b;if(D>c)max=D;else max=c;printf("%f",max);return 0;}

c语言输出浮点数的格式是什么?
C语言中,输出浮点数的格式可以使用格式控制符%f来实现。%f格式控制符用于输出一个浮点数,可以指定输出的小数位数。例如:在这个例子中,我们首先定义了一个浮点型变量num并初始化为3.14159。然后,我们使用%.2f格式控制符将num的值输出,并指定输出的小数位数为2。运行上述程序,输出结果:num = 3.14...

c语言中printf()函数输出什么格式的数据?
输出一个浮点型数据,最小宽度为4个字符宽(包括小数点在内),不足4位右对齐,左补空格,小数点后保留两位小数。如:printf("%4.2f", 1.2 ); \/\/输出结果 1.20 printf("%4.2f", 1.195 ); \/\/输出结果 1.20 printf("%4.2f", 1.194 ); \/\/输出结果 1.19 printf("%4.2f", 12...

C语言输出 浮点型数据输出
double t; int s,m; scanf("%d",&m); \/\/占的位数,这个你可以不要 printf("保留小数位数:"); scanf("%d",&s); printf("输入数据:"); scanf("%lf",&t); printf("%*.*lf\\n",m, s, t);\/\/就小数的话就写"%.*lf\\n" return 0;} ...

c语言中double、 float怎么输出?
1、双精度浮点型数据用%lf输出。因为double是8个字节的,float是4个字节的,%f 的格式就是4个字节的,而 %lf 就是8个字节的。 例如:printf("%lf\\n",x);2、short 占用内存空间2个字节,短整型数据用%d输出 例如:printf("%d\\n",a);例如:include <stdio.h> int main(){double x;sh...

c语言中double、 float怎么输出?
1.双精度浮点型数据用%lf输出。因为double是8个字节的,float是4个字节的,%f 的格式就是4个字节的,而 %lf 就是8个字节的。 例如:printf("%lf\\n",x);2.short 占用内存空间2个字节,短整型数据用%d输出 例如:printf("%d\\n",a);例:include <stdio.h> int main(){double x;short...

c语言如何输出浮点数?
float 为单精度,有效数字为6~7 double 为双精度,有效数字为15~16 但他们在输出时,小数点后都有6位小数。 如: main() { int a=15; float b=123.1234567; double c=12345678.1234567; char d='p'; printf("a=%d,%5d,%o,%x\\n",a,a,a,a); printf("b=%f,%lf,%5...

c语言float类型输出
可以改成printf("%.1f\\n",sum);结果见下图:

相似回答