[問題] 關於sprintf格式化 %%%ds的問題
問題(Question):
這是在https://openhome.cc/Gossip/AlgorithmGossip/PascalTriangle.htm看到的題目
,是關於巴斯卡三角形的運算並排列。裡面的程式碼大部分小弟都看得懂,但在sprintf
裡有一個%%%ds的格式化符號實在是不懂它的功能,以前也沒看過這樣子的打法;還請版
上高手能替小弟解答,感激不盡。
程式碼(Code):
#include <stdio.h>
#define HEIGHT 12
int combi(int r, int n){
int p = 1;
int i;
for(i = 1; i <= n; i++) {
p = p * (r - i + 1) / i;
}
return p;
}
int main() {
int r;
for(r = 0; r < HEIGHT; r++) {
char format[5];
sprintf(format, "%%%ds", (HEIGHT - r) * 3);
printf(format);
int n;
for(n = 0; n <= r; n++) {
printf("%6d", combi(r, n));
}
printf("\n");
}
return 0;
}
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 163.18.30.156
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1491570871.A.B17.html
推
04/07 21:16, , 1F
04/07 21:16, 1F
→
04/07 21:20, , 2F
04/07 21:20, 2F
→
04/07 21:31, , 3F
04/07 21:31, 3F
推
04/07 22:45, , 4F
04/07 22:45, 4F
→
04/07 22:50, , 5F
04/07 22:50, 5F
→
04/07 22:50, , 6F
04/07 22:50, 6F
→
04/07 22:50, , 7F
04/07 22:50, 7F
→
04/07 22:51, , 8F
04/07 22:51, 8F
→
04/07 22:51, , 9F
04/07 22:51, 9F
→
04/07 22:51, , 10F
04/07 22:51, 10F
→
04/07 22:52, , 11F
04/07 22:52, 11F
→
04/07 22:52, , 12F
04/07 22:52, 12F
→
04/07 23:17, , 13F
04/07 23:17, 13F
→
04/07 23:19, , 14F
04/07 23:19, 14F
推
04/07 23:47, , 15F
04/07 23:47, 15F
推
04/08 05:05, , 16F
04/08 05:05, 16F
推
04/08 23:43, , 17F
04/08 23:43, 17F
推
04/09 03:32, , 18F
04/09 03:32, 18F
推
04/09 11:42, , 19F
04/09 11:42, 19F
→
04/09 12:18, , 20F
04/09 12:18, 20F
→
04/09 12:26, , 21F
04/09 12:26, 21F
→
04/09 13:20, , 22F
04/09 13:20, 22F
→
04/09 20:50, , 23F
04/09 20:50, 23F
推
04/09 20:51, , 24F
04/09 20:51, 24F
→
04/09 20:51, , 25F
04/09 20:51, 25F
推
04/10 02:43, , 26F
04/10 02:43, 26F
→
04/10 02:44, , 27F
04/10 02:44, 27F
→
04/10 02:44, , 28F
04/10 02:44, 28F