函数功能
printf 函数用于打印格式化字符串到标准输出流。其中 f 指代 format 参数,format 参数是一个格式化字符串,由格式化占位符和普通字符组成。
格式化占位符的语法
%[flags][width][.precision][length]specifier
格式化占位符(以 % 开头)用于指明输出的参数值如何格式化。%后依次表示:标志;宽度(用于指定最小字段的宽度);精度;长度;转换字符。其中,转换字符是必须有的,其余均为可选根据实际情况选择。
转换字符
标志
精度
长度
练习题
- 相传国际象棋是古印度舍罕王的宰相达依尔发明的。舍罕王十分喜爱象棋,决定让宰相自己选择何种赏赐。这位聪明的宰相指着 8 * 8 共 64 格的象棋说:“陛下,请您赏给我一些麦子吧。就在棋盘的第 1 格放 1 粒,第 2 格放 2 粒,第三格放 4 粒,以后每一格都比前一格增加一倍,依此放完棋盘 64 格,我就感激不尽了。”。舍罕王听了达依尔这个“小小”的要求,想都没想就满口答应下来。结果在给达依尔麦子时舍罕惊奇地发现要给的麦子比自己想象的要多得多,于是他进行了计算,结果令他大惊失色。请问,舍罕王要兑现他的许诺共要多少粒麦子赏赐他的宰相?如果每25000粒麦子重1kg,那么舍罕王应该给予达依尔多少公斤麦子?
#include <stdio.h>
#include <math.h>
int main()
{
unsigned long long int sum = 0;
unsigned long long int temp;
unsigned long long int weight;
int i;
for (i=0; i < 64; i++)
{
temp = pow(2, i);
sum = sum + temp;
}
weight = sum / 25000;
printf("舍罕王应该给予达依尔%llu粒麦子!\n", sum);
printf("如果每25000粒麦子为1kg,那么应该给%llu公斤麦子!\n", weight);
return 0;
}
- 参考
- https://fishc.com.cn/thread-66471-1-1.html
- https://fishc.com.cn/forum.php?mod=viewthread&tid=67054&extra=page%3D1%26filter%3Dtypeid%26typeid%3D570
|