藍橋杯 格仔中輸出

2021-08-17 08:31:39 字數 871 閱讀 8424

參考:

格仔中輸出

stringingrid函式會在乙個指定大小的格仔中列印指定的字串。

要求字串在水平、垂直兩個方向上都居中。

如果字串太長,就截斷。

如果不能恰好居中,可以稍稍偏左或者偏上一點。

下面的程式實現這個邏輯,請填寫劃線部分缺少的**。

如圖:

#include

#include

void stringingrid(int width, int height, const char* s)

printf("|");

printf("%*s%s%*s",(width-strlen(s)-2)/2," ",s,(width-strlen(s)-1)/2," ");

//填空

printf("|\n");

for(k=(height-1)/2+1; k

printf("|");

for(i=0;i

printf("|\n");

}printf("+");

for(i=0;i

printf("+\n");

}int main()

個人理解,就是要控制這個字串在中間輸出。因為這兩行兩邊有兩個字元,所以字串剩餘的空間,就是總的寬度width減減去字串的,再減去兩邊方框的字元,然後再除二即可,然後因為存在基數的情況,所以還會有後面的考慮。

此外:使用%*s,表示這裡的具體域寬值由後面的實參決定,如printf(「%*s」,6, 「abc」)就是把」abc」放到在域寬為6的空間中右對齊。 

*就是用來控制域寬而已。

格仔中輸出 藍橋杯

格仔中輸出 stringingrid方法會在乙個指定大小的格仔中列印指定的字串。要求字串在水平 垂直兩個方向上都居中。如果字串太長,就截斷。如果不能恰好居中,可以稍稍偏左或者偏上一點。下面的程式實現這個邏輯,請填寫劃線部分缺少的 public static void stringingrid int...

藍橋杯 格仔中輸出

格仔中輸出 stringingrid函式會在乙個指定大小的格仔中列印指定的字串。要求字串在水平 垂直兩個方向上都居中。如果字串太長,就截斷。如果不能恰好居中,可以稍稍偏左或者偏上一點。下面的程式實現這個邏輯,請填寫劃線部分缺少的 include include void stringingrid i...

藍橋杯 格仔中輸出

格仔中輸出 stringingrid函式會在乙個指定大小的格仔中列印指定的字串。要求字串在水平 垂直兩個方向上都居中。如果字串太長,就截斷。如果不能恰好居中,可以稍稍偏左或者偏上一點。下面的程式實現這個邏輯,請填寫劃線部分缺少的 這是一道 填空題 include include include vo...