C语言输出问题
#include<stdio.h>main(){floatc,f;upper=1000;step=50;lower=0;c=lower;printf("温度转换表");w...
#include<stdio.h>
main (){
float c,f;
upper=1000;
step=50;
lower=0;
c=lower;
printf("温度转换表");
while(c<=upper){
f=c*5.0/9.0+32;
printf("%3.0f%6.1f\n",c,f);
c=c+step;
}
} 为什么输出的不是从0到1000,挨个转化啊 展开
main (){
float c,f;
upper=1000;
step=50;
lower=0;
c=lower;
printf("温度转换表");
while(c<=upper){
f=c*5.0/9.0+32;
printf("%3.0f%6.1f\n",c,f);
c=c+step;
}
} 为什么输出的不是从0到1000,挨个转化啊 展开
3个回答
展开全部
更多追问追答
追问
意思把那三个变量声明了,就可以输出正常结果了么,可是我这边还是这样啊,而且,我做了三个了,都显示的第一个程序的结果。编译器的问题??用的Dev-c++5.10
追答
你那边提示什么?或者是显示什么?
展开全部
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
标准C语言库函数fprintf/printf格式字符串的转换说明形式是这样的:
%[标志][最小输出宽度][.精度][长度修正符]类型
方括号括起来是可选项。
标志是0或多个标志字符,可以是任意顺序,常用有以下几个:
- 左对齐,缺省是右对齐。
+ 带符号的值前面总是有个符号,也就是正数前面有+号,负数前面有-号。
0 输出值的宽度小于最小宽度的话,用0填充,缺省是用空格填充。
最小输出宽度是10进制整数常量,开头不能是0,不然变成上面的0标志了。如果输出的值小于这个宽度,根据上面的对齐标志决定左对齐还是右对齐,剩下的用填充字符填充,缺省是空格,用0标志指定的话是0。
精度一般是小数点后面跟1个十进制数,对于整型,表示要输出的最少位数,不足的话前面会补0,对于小数,表示小数点后面输出几位小数。
长度修正符修正后面类型的输出长度。l表示long或unsigned long,ll表示long long int或unsigned long long int,h表示short或unsigned short,hh表示为char或unsigned char,L表示long double。
最后的类型就是常见的d,o,x,f,c,s一类的。
所以printf("%-0.4d",m)表示的是左对齐,0填充,保留小数点后4位。
1.保留n位有效数值用 %.n
2.既要表示数值间距n个字符,同时又要保留数值m位有效数值用%n.m
%[标志][最小输出宽度][.精度][长度修正符]类型
方括号括起来是可选项。
标志是0或多个标志字符,可以是任意顺序,常用有以下几个:
- 左对齐,缺省是右对齐。
+ 带符号的值前面总是有个符号,也就是正数前面有+号,负数前面有-号。
0 输出值的宽度小于最小宽度的话,用0填充,缺省是用空格填充。
最小输出宽度是10进制整数常量,开头不能是0,不然变成上面的0标志了。如果输出的值小于这个宽度,根据上面的对齐标志决定左对齐还是右对齐,剩下的用填充字符填充,缺省是空格,用0标志指定的话是0。
精度一般是小数点后面跟1个十进制数,对于整型,表示要输出的最少位数,不足的话前面会补0,对于小数,表示小数点后面输出几位小数。
长度修正符修正后面类型的输出长度。l表示long或unsigned long,ll表示long long int或unsigned long long int,h表示short或unsigned short,hh表示为char或unsigned char,L表示long double。
最后的类型就是常见的d,o,x,f,c,s一类的。
所以printf("%-0.4d",m)表示的是左对齐,0填充,保留小数点后4位。
1.保留n位有效数值用 %.n
2.既要表示数值间距n个字符,同时又要保留数值m位有效数值用%n.m
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询