藍橋杯 格仔中輸出

2021-10-09 06:09:23 字數 1482 閱讀 4079

格仔中

#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...