格仔中輸出

2021-08-15 23:41:41 字數 986 閱讀 3116

有些可能知道scanf裡用*修飾符,是起到過濾讀入的作用。比如乙個有三列數值的資料,我只想得到第2列數值,可以在迴圈裡用scanf(「%*d%d%*d」, a[i])來讀入第i行的第2個數值到a[i]。 

* 修飾符在printf中的含義完全不同。如果寫成printf(「%6d」, 123),很多童鞋應該就不會陌生了,這是設定域寬的意思。同理,%6s也是域寬。* 修飾符正是用來更靈活的控制域寬。使用%*s,表示這裡的具體域寬值由後面的實參決定,如printf(「%*s」, 6, 「abc」)就是把」abc」放到在域寬為6的空間中右對齊。 

主要是考察的printf()函式的用法,比較冷門的。 printf("%*s",5,' ')  表示輸出5個空格。

明白了 * 是用變數來控制域寬,那麼這題就簡單了,這裡應該填寫5個實參。然後字元長度的計算應該用buf而不是s,因為buf才是截斷後的長度,用s的話,如果s長度超過了width-2,效果就不對了。

格仔中輸出

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

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

如果字串太長,就截斷。

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

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

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

{ int i,k;

char buf[1000];

strcpy(buf, s);

if(strlen(s)>width-2) buf[width-2]=0;

printf("+");

for(i=0;i

格仔中輸出

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

格仔中輸出

stringingrid方法會在乙個指定大小的格仔中列印指定的字串。要求字串在水平 垂直兩個方向上都居中。如果字串太長,就截斷。如果不能恰好居中,可以稍稍偏左或者偏上一點。對於題目中資料,應該輸出 原始碼如下,只需填寫 填空 的位置 public class main public static v...

藍橋杯 格仔中輸出

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