求C语言中printf用法,输出m.n格式输出的详解为什么这么写.
来源:学生作业帮 编辑:灵鹊做题网作业帮 分类:综合作业 时间:2024/05/14 21:21:49
求C语言中printf用法,输出m.n格式输出的详解为什么这么写.
/*Authour :Andy Cui*/
/*Date :2014-02-03*/
/*Time :17:11*/
/*Content :intput integer a,b,c;
output (float)a/b
PS:keep c decimal place.
a,b 1e6 || c > 100)
\x05{
\x05\x05printf("Error!\nPlease enter number again!\nA and B must less than 1E6,and C must less than 100!\n");
\x05\x05goto number;
\x05}\x05
\x05
\x05double value;
\x05
\x05value = (double)a/b;
\x05
\x05printf("%.*lf\n",c,value);
\x05
\x05return 0;
}
/*Authour :Andy Cui*/
/*Date :2014-02-03*/
/*Time :17:11*/
/*Content :intput integer a,b,c;
output (float)a/b
PS:keep c decimal place.
a,b 1e6 || c > 100)
\x05{
\x05\x05printf("Error!\nPlease enter number again!\nA and B must less than 1E6,and C must less than 100!\n");
\x05\x05goto number;
\x05}\x05
\x05
\x05double value;
\x05
\x05value = (double)a/b;
\x05
\x05printf("%.*lf\n",c,value);
\x05
\x05return 0;
}
格式修饰符最小域宽限定符精度限定符
对齐输出* 和 # 修饰符
格式修饰符 许多格式限定符都有修饰符用于稍微改变它们的含义.例如,可以规定最小域宽、小数位数及向左对齐.格式修饰符放在百分号与格式代码之间.最小域宽限定符 百分号和格式代码之间的整数称为最小域宽限定符,它保证输出时用空格填充以达到最小域宽.如果串或数字长度比最小域宽长,就被完全打印出来.默认填充为空格.如果想用0填充,那么在域宽限定符前放一个0.double item = 10.12304;
printf("%f\n", item);
printf("%10f\n", item);
printf("%012f\n", item); 输出如下:10.123040
10.123040
00010.123040精度限定符 精度限定符跟在最小域宽限定符后面(如果有),由一个点号后跟一个整数组成,准确含义依赖于它所修饰的数据类型. 当用%f,%e,%E限定符应用精度限定符与浮点数据时,它确定所显示的小数位数. 如果精度限定符为了%g或%G,则表示有效位数. 当修饰字符串时,表示最大域宽.如果串大于最大域宽,则舍去多余的字符. 当修饰整形数时,确定每个数字显示的最小位数.在这种情况下,用0来填充以达到要求的位数.printf("%.4f\n", 123.1234567);
printf("%3.8d\n", 1000);
printf("%10.15s\n", "This is a simple test."); 输出如下:123.1235
00001000
This is a simpl对齐输出 默认时,所有输出均为右对齐.但可以通过在百分号后加一个减号来向域左边界对齐.* 和 # 修饰符 最小域宽和精度限定符可以通过变元而不是常数提供给printf().为了实现这一点,我们用*作为占位符.当扫描到格式串,printf将*与变元串中的参数按顺序匹配.printf("%*.*f", 10, 4, 123.3);
// * . * f 如果g,G,f,E或e前面有符号#,就可以确保即使没有小数位也显示小数点.如果x或X前面有#,那么十六进制数将带0x前缀显示,在o前面加上会使打印的数字前面补0,#不能用于其他任何格式限定符. __________________________________________________________________________ 参考文献:C++参考大全(第四版)
对齐输出* 和 # 修饰符
格式修饰符 许多格式限定符都有修饰符用于稍微改变它们的含义.例如,可以规定最小域宽、小数位数及向左对齐.格式修饰符放在百分号与格式代码之间.最小域宽限定符 百分号和格式代码之间的整数称为最小域宽限定符,它保证输出时用空格填充以达到最小域宽.如果串或数字长度比最小域宽长,就被完全打印出来.默认填充为空格.如果想用0填充,那么在域宽限定符前放一个0.double item = 10.12304;
printf("%f\n", item);
printf("%10f\n", item);
printf("%012f\n", item); 输出如下:10.123040
10.123040
00010.123040精度限定符 精度限定符跟在最小域宽限定符后面(如果有),由一个点号后跟一个整数组成,准确含义依赖于它所修饰的数据类型. 当用%f,%e,%E限定符应用精度限定符与浮点数据时,它确定所显示的小数位数. 如果精度限定符为了%g或%G,则表示有效位数. 当修饰字符串时,表示最大域宽.如果串大于最大域宽,则舍去多余的字符. 当修饰整形数时,确定每个数字显示的最小位数.在这种情况下,用0来填充以达到要求的位数.printf("%.4f\n", 123.1234567);
printf("%3.8d\n", 1000);
printf("%10.15s\n", "This is a simple test."); 输出如下:123.1235
00001000
This is a simpl对齐输出 默认时,所有输出均为右对齐.但可以通过在百分号后加一个减号来向域左边界对齐.* 和 # 修饰符 最小域宽和精度限定符可以通过变元而不是常数提供给printf().为了实现这一点,我们用*作为占位符.当扫描到格式串,printf将*与变元串中的参数按顺序匹配.printf("%*.*f", 10, 4, 123.3);
// * . * f 如果g,G,f,E或e前面有符号#,就可以确保即使没有小数位也显示小数点.如果x或X前面有#,那么十六进制数将带0x前缀显示,在o前面加上会使打印的数字前面补0,#不能用于其他任何格式限定符. __________________________________________________________________________ 参考文献:C++参考大全(第四版)
求C语言中printf用法,输出m.n格式输出的详解为什么这么写.
在C语言中,下列语句的输出结果是( ).printf("%d\n",strlen("ATS\n\12\1\\"));求过
为什么c语言printf("The value of \'a\'-\'A\'is %d.\n",'a'-'A');输出的
在C语言中,下列语句的输出结果是( ).printf("%d\n",strlen("ATS\n012\1\\"));
main() {char a1='M',a2='m';printf("%c\n",(a1,a2));}为什么输出的是“m
C语言中在输出函数时会有这样的形式:printf(f(%g)=%g\n",x,y),
C语言:输出m ~n 之间所有的Fibonacci 数
C语言输出[m,n]区间素数的问题
c语言从键盘输入n求1+2+...+n的结果并输出:while语句中为什么是n=n-1?不是n=n+1?
c语言 计算m的n次方 要求输入m、n 输出m的n次方
以下程序运行后的输出结果是() main() {char m; m='B'+32; printf("%c/n",m);}
C语言请读程序片段printf("%d\n",strlen("ATS\n012\1\\"));的输出结果是 A) 11