格仔中
#include
#include
void
stringingrid
(int width,
int height,
const
char
* s)
//輸出|···|直到居中
printf
("|");
//到達居中行,先輸列印|
printf
("%*s%s%*s"
,(width-
strlen
(buf)-2
)/2,
"",buf,
(width-1-
strlen
(s))/2
,"");
//填空
printf
("|\n");
//輸出完成,列印|結束
for(k=
(height-1)
/2+1
; k1; k++
)printf
("+");
for(i=
0;i2;i++
)printf
("-");
printf
("+\n");
}int
main()
scanf裡用*修飾符,是起到過濾讀入的作用。比如乙個有三列數值的資料,我只想得到第2列數值,可以在迴圈裡用scanf(「%*d%d%*d」, a[i])來讀入第i行的第2個數值到a[i]。
int a=
0,b=
0,c=0;
scanf
("%*d%d%d"
,&a,
&b,&c)
;//輸入1,2,3 結果是a=2 b=3,c=0
char ch[4]
;scanf
("%*c%s"
,ch)
;//輸入abcd,輸出bcd
所以,width-
strlen
(buf)-2
)/2,
"" 和(width-1-
strlen
(s))/2
,"" 是列印出
居中的字串後,填充空格,因為是讓「」居中,相當於列印出兩側的空格
若width-
strlen
(buf)是奇數,也就是待填充的空格為奇數個,說明不能居中了,
width-
strlen
(buf)-2
)/2<
(width-1-
strlen
(s))/2
, 則左側的空格數較少
,右側多;若為偶數,兩者相等,兩側輸出的空格數相同
藍橋杯 格仔中輸出
參考 格仔中輸出 stringingrid函式會在乙個指定大小的格仔中列印指定的字串。要求字串在水平 垂直兩個方向上都居中。如果字串太長,就截斷。如果不能恰好居中,可以稍稍偏左或者偏上一點。下面的程式實現這個邏輯,請填寫劃線部分缺少的 如圖 include include void stringin...
格仔中輸出 藍橋杯
格仔中輸出 stringingrid方法會在乙個指定大小的格仔中列印指定的字串。要求字串在水平 垂直兩個方向上都居中。如果字串太長,就截斷。如果不能恰好居中,可以稍稍偏左或者偏上一點。下面的程式實現這個邏輯,請填寫劃線部分缺少的 public static void stringingrid int...
藍橋杯 格仔中輸出
格仔中輸出 stringingrid函式會在乙個指定大小的格仔中列印指定的字串。要求字串在水平 垂直兩個方向上都居中。如果字串太長,就截斷。如果不能恰好居中,可以稍稍偏左或者偏上一點。下面的程式實現這個邏輯,請填寫劃線部分缺少的 include include void stringingrid i...