第六屆藍橋杯B組C++試題
StringInGrid函式會在一個指定大小的格子中列印指定的字串。
要求字串在水平、垂直兩個方向上都居中。
如果字串太長,就截斷。
如果不能恰好居中,可以稍稍偏左或者偏上一點。
下面的程式實現這個邏輯,請填寫劃線部分缺少的程式碼。
#include <stdio.h>
#include <string.h>
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<width-2;i++) printf("-");
printf("+\n");
for(k=1; k<(height-1)/2;k++){
printf("|");
for(i=0;i<width-2;i++) printf(" ");
printf("|\n");
}
printf("|");
printf("%*s%s%*s",_____________________________________________); //填空
printf("|\n");
for(k=(height-1)/2+1; k<height-1; k++){
printf("|");
for(i=0;i<width-2;i++) printf(" ");
printf("|\n");
}
printf("+");
for(i=0;i<width-2;i++) printf("-");
printf("+\n");
}
int main()
{
StringInGrid(20,6,"abcd1234");
return 0;
}
對於題目中資料,應該輸出:
+------------------+
| |
| abcd1234 |
| |
| |
+------------------+
(如果出現對齊問題,參看【圖1.jpg】)
注意:只填寫缺少的內容,不要書寫任何題面已有程式碼或說明性文字。
5,"",buf,5," "
相關推薦
第六屆藍橋杯B組C++試題
4. 格子中輸出 StringInGrid函式會在一個指定大小的格子中列印指定的字串。 要求字串在水平、垂直兩個方向上都居中。 如果字串太長,就截斷。 如果不能恰好居中,可以稍稍偏左或者偏上一點。 下面的程式實現這個邏輯,請填寫劃線部分缺少的程式碼。 #include <stdio.h> #in
第六屆藍橋杯B組C/C++_獎券數目
獎券數目 有些人很迷信數字,比如帶“4”的數字,認為和“死”諧音,就覺得不吉利。 雖然這些說法純屬無稽之談,但有時還要迎合大眾的需求。某抽獎活動的獎券號碼是5位數(10000-99999), 要求其中
第六屆藍橋杯A組C/C++ 第六題 牌型種數
牌型種數 小明被劫持到X賭城,被迫與其他3人玩牌。 一副撲克牌(去掉大小王牌,共52張),均勻發給4個人,每個人13張。 這時,小明腦子裡突然冒出一個問題: 如果不考慮花色,只考慮點數,也不考慮自己得到的牌的先後順序,自己手裡能拿到的初始牌型組合一共有多
2014年第五屆藍橋杯B組(C/C++)預賽題目及個人答案(歡迎指正)
1.標題:啤酒和飲料 啤酒每罐2.3元,飲料每罐1.9元。小明買了若干啤酒和飲料,一共花了82.3元。 我們還知道他買的啤酒比飲料的數量少,請你計算他買了幾罐啤酒。 注意:答案是一個整數。請通過瀏覽器提交答案。 不要書寫任何多餘的內容(例如:
2013年第四屆藍橋杯B組(C/C++)預賽題目及個人答案(歡迎指正)
第一題: 題目標題: 高斯日記 大數學家高斯有個好習慣:無論如何都要記日記。 他的日記有個與眾不同的地方,他從不註明年月日,而是用一個整數代替,比如:4210 後來人們知道,
第六屆藍橋杯省賽C/C++B組
程式設計的大題因為沒有辦法在OJ上提交,不知道是否能過100%的資料,但是大致就是這個意思。1.獎券數目有些人很迷信數字,比如帶“4”的數字,認為和“死”諧音,就覺得不吉利。雖然這些說法純屬無稽之談,但有時還要迎合大眾的需求。某抽獎活動的獎券號碼是5位數(10000-9999
第六屆藍橋杯省賽C/C++B組 壘骰子
壘骰子 賭聖atm晚年迷戀上了壘骰子,就是把骰子一個壘在另一個上邊,不能歪歪扭扭,要壘成方柱體。 經過長期觀察,atm 發現了穩定骰子的奧祕:有些數字的面貼著會互相排斥! 我們先來規範一下骰子:1 的對面是 4,2 的對面是 5,3 的對面是 6。 假設有 m 組互斥現象
【暴力自動生成排列】(2015)第六屆藍橋杯省賽 C/C++ B組 題解(第三題)
第三題題目三羊獻瑞觀察下面的加法算式: 祥 瑞 生 輝 + 三 羊 獻 瑞------------------- 三 羊 生 瑞 氣(如果有對齊問題,可以參看【圖1.jpg】)其中
2017第八屆藍橋杯B組省賽第六題:最大公共子串
第六題 標題:最大公共子串 最大公共子串長度問題就是: 求兩個串的所有子串中能夠匹配上的最大長度是多少。 比如:"abcdkkk" 和 "baabcdadabc", 可以找到的最長的公共子串是"a
2015年第六屆藍橋杯JavaB組決賽題解——穿越雷區
標題:穿越雷區 X星的坦克戰車很奇怪,它必須交替地穿越正能量輻射區和負能量輻射區才能保持正常運轉,否則將報廢。 某坦克需要從A區到B區去(A,B區本身是安全區,沒有正能量或負能量特徵),怎樣走才能路徑最短? 已知的地圖是一個方陣,上面用字母標出了A,B區,其它區都標了正號或
2017第八屆藍橋杯 A組 C/C++ 真題及題解
1. (5')標題: 購物單 小明剛剛找到工作,老闆人很好,只是老闆夫人很愛購物。老闆忙的時候經常讓小明幫忙到商場代為購物。小明很厭煩,但又不好推辭。 這不,XX大促銷又來了!老闆夫人開出了長長的購物單,都是有打折優惠的。 小明也有個怪癖,不到萬不得已,從不
藍橋杯 穿越雷區 2015年第六屆藍橋杯JavaB組決賽第四題
標題:穿越雷區 X星的坦克戰車很奇怪,它必須交替地穿越正能量輻射區和負能量輻射區才能保持正常運轉,否則將報廢。 某坦克需要從A區到B區去(A,B區本身是安全區,沒有正能量或負能量特徵),怎樣走才能路徑最短? 已知的地圖是一個方陣,上面用字母標出了A,B區,其它區都標了正號
2012第三屆藍橋杯本科組 C/C++真題及題解
1. (3')微生物增殖 假設有兩種微生物 X 和 Y X出生後每隔3分鐘分裂一次(數目加倍),Y出生後每隔2分鐘分裂一次(數目加倍)。 一個新出生的X,半分鐘之後吃掉1個Y,並且,從此開始,每隔1分鐘吃1個Y。 現在已知有新出生的 X=10, Y=8
第六屆藍橋杯JavaA組第九題壘骰子
賭聖atm晚年迷戀上了壘骰子,就是把骰子一個壘在另一個上邊,不能歪歪扭扭,要壘成方柱體。 經過長期觀察,atm 發現了穩定骰子的奧祕:有些數字的面貼著會互相排斥! 我們先來規範一下骰子:1 的對面是 4,2 的對面是 5,3 的對面是 6。 假設有 m 組
第八屆藍橋杯B組國賽總結
第七屆省二,第八屆靠運氣省一進國賽。本來以為會在北大比賽,結果在北(方工業)大。 食物據說很難吃,就直接留在那裡了。 Dev還被強行綁了快捷鍵。 能來帝都一次還是很不錯的。跟著dalao們夜裡的小紅車編隊騎行。 第一題:0-9 A-Z 36進位制
藍橋杯 表格計算 2016年第六屆藍橋杯javaB組決賽第五題
標題:表格計算 某次無聊中, atm 發現了一個很老的程式。這個程式的功能類似於 Excel ,它對一個表格進行操作。 不妨設表格有 n 行,每行有 m 個格子。 每個格子的內容可以是一個正整數,也可以是一個公式。 公式包括三種: 1. SUM(x1,y1:x2,y2)
第六屆藍橋杯【省賽試題9】壘骰子 ( 矩陣快速冪 )
題目描述: 賭聖atm晚年迷戀上了壘骰子,就是把骰子一個壘在另一個上邊,不能歪歪扭扭,要壘成方柱體。 經過長期觀察,atm 發現了穩定骰子的奧祕:有些數字的面貼著會互相排斥! 我們先來規範一下骰子:
第六屆藍橋杯【省賽試題3】三羊獻瑞
題目描述: 觀察下面的加法算式: 其中,相同的漢字代表相同的數字,不同的漢字代表不同的數字。 請你填寫“三羊獻瑞”所代表的4位數字(答案唯一),不要填寫任何多餘內容。 題目答案: 1085
2015年第六屆藍橋杯C/C++程序設計本科B組決賽 ——居民集會(編程大題)
con 要求 數據 color 資源 例如 aps 計算 調試 標題:居民集會 藍橋村的居民都生活在一條公路的邊上,公路的長度為L,每戶家庭的 位置都用這戶家庭到公路的起點的距離來計算,第i戶家庭距起點的距 離為di。每年,藍橋村都要舉行一次集會。今年,由於村裏的人口太多,
加法變乘法——第六屆藍橋杯C語言B組(省賽)第六題
clu 自己 nbsp 加法 藍橋杯 重新 () std spa 原創 加法變乘法 我們都知道:1+2+3+ ... + 49 = 1225現在要求你把其中兩個不相鄰的加號變成乘號,使得結果為2015 比如:1+2+3+...+10*11+12+...+27*28+29+