NO.1 %m.nf
#include<stdio.h>
int main()
{
double a,b,c;
a=3.67;
b=5.43;
c=6.21;
printf("设定的a是%5.2f,b是%-5.2f,c是%7.4f\n",a,b,c);
return 0;
}
输出结果;设定的a是 3.67,b是5.43 ,c是 6.2100
解释
5.2表示输出五位数,小数点后两位
-5.2表示输出五位数,小数点后两位,如果有空位自动补在后面
7.4表示输出七位数,小数点后四位,空格不补在后面
NO.2 %e(科学计数法)
#include<stdio.h>
int main()
{
printf("这个人的身高是%e厘米\n",123.456);//
return 0;
}
输出结果:这个人的身高是1.234560e+002厘米
#include<stdio.h>
int main()
{
printf("这个人的身高是%10.2e厘米\n",123.456);//占十个格,小数点后两个
return 0;
}
输出结果:这个人的身高是 1.23e+002厘米
注意:1前面有空格
(int)(表达式)
将表达式结果强制转换为整形(即抹去表达式结果中的小数点)
9999.999 转化9999.999/1000=9.9999999(小数去掉了)
关键部分
float a=9999.999;
int b;
b=(int)(a/1000);
实例
输入一个大于0但小于999的可以带小数的数字,并输出其个位,十位,以及百位数字。
#include<stdio.h>
int main()
{
double a;
scanf("%lf",&a);
int shi,bai,ge;
bai=(int)(a/100);
shi=(int)((a-bai*100)/10);
ge=(int)((a-bai*100-shi*10)/1);
printf("%lf的个位是%d,十位是%d,百位是%d\n",a,ge,shi,bai);
return 0;
}
输出结果:56.56 56.560000的个位是6,十位是5,百位是0