蓝桥杯C语言本科B组预赛试题

玛丽莲梦兔
787次浏览
2021年02月12日 21:37
最佳经验
本文由作者推荐

-

2021年2月12日发(作者:墨梅的意思)


蓝桥杯


C


语言本科


B< /p>


组预赛试题












































——— —————————————————————————————



作者:



————————————— ———————————————————



日期


:





2014


蓝桥杯

C/C++


语言本科


B


组预赛试题 (完整)




1.


啤酒和饮料





啤酒每罐

2.3


元,饮料每罐


1.9


元。小 明买了若干啤酒和饮料


,



共花了


82.


3元。





我们还知道他买的啤酒比饮料的数量少


,


请你计算他买了几罐啤


酒。





注意


:


答案是一个整数。请通过浏览器提交答案。



不要书写任何多余的内容


(


例如


:


写了饮料的数量


,


添加说明文字< /p>


等)。




2.


切面条





一根高筋拉面


,

中间切一刀,可以得到


2


根面条。





如果先对折

< br>1


次,中间切一刀,可以得到


3


根面条。




< br>如果连续对折


2



,

< p>
中间切一刀,可以得到5根面条。





那么


,


连续 对折


1


0次,中间切一刀


,

< p>
会得到多少面条呢?



答案是个整数


,


请通过浏览器提交答案。不要填写任何多余的内容。




3


.李白打酒





话说大诗人李白,一生好饮。幸好他从不开车。





一天


,


他提着酒壶


,


从家里出来

< p>
,


酒壶中有酒


2


斗。他边 走边唱:





无事街上走,提壶去打酒。





逢店加一倍,遇花喝一斗。





这一路上

,


他一共遇到店


5


次,遇到花


10


次,已知最后一次遇到


的是花


,


他正好把酒喝光了。






请 你计算李白遇到店和花的次序


,


可以把遇店记为


a


,遇花记为


b


< p>


:



a



aa


bba


bbabbbb



就是合理的次序。像这样的答案一共有


多少呢


?


请你计算出所有可能方案的个数

(


包含题目给出的


)


< p>


注意:通过浏览器提交答案。


答案是个整数。不 要书写任何多余的


内容。




4.


史丰收速算





史丰收速算法的革命性贡献是 :从高位算起,预测进位。不需要


九九表,彻底颠覆了传统手算!





速算的核心基础是


:1


位数乘以多位数的乘法。





其中


,


乘以7是最复杂的,就以它为例。





因为


,1



7



是个循环小数:

< br>0



142


< br>5



...


,如果多位数超过< /p>



14



857 ...


,就要进1





同理,


2/7




3



7,


.


..



6



7


也都 是类似的循环小数


,


多位数


超过



n/7


,就要进n





下面的程序模拟了史丰收速算法中乘以7的运算过程。





乘以





的个位规律是

:


偶数乘以


2,


奇数乘以2再加< /p>


5


,都只取个


位。





乘以



7


的进位规律是:








4



857..




进1


,






285714...



2,






4



8



7


1.


..



3,






57< /p>



42


8.


..



4,






71< /p>



2



5.



.



5,






8


57< /p>


14


2..


.



6




请分析程序流程


,


填写划线部分缺少的 代码。



//


计算个位




in



< /p>


g



_w



i(int


a)


{




if



a % 2


==




)






return



a


*


2) %



0;




e



se






re



urn (a *




+ 5






10;





}


//


计算进位




in




jin_


we


i(char*


p)


{




char* level[]


=






















71








28






428


5











}






char

< p>
bu



[7


];





bu f



6






'



0



;




strnc



y


(b


u



,p,6);




int


i






f


or


(i=5; i>=



;



--)








int




=


strcm


(le



e


l[

< br>i], buf



;






if(



<0) retu



n


i+1;







hi


le


(r


==0){









p


+=


6










strncpy(bu


f,


p,



) ;








r =



trc


p


(l


evel[i],



uf);








i



(r<0) return



+1









_


______


__


______


_


_______


__


____


_


;




/


/填空







}











re


turn


0;


}


//


多位数乘以


7


v



id f(cha



*


s





{





n




head = jin_wei



s);




if



h< /p>



ad >



) pri



t



(



d



, head


);








ch



r*




=



;




whi



e (



p)









nt






(*p-



0


'< /p>


)









nt x = (ge


_

< p>
wei



a


< p>





in_wei



p+1))




10;





printf(



d






p++;




}



< br>p


ri


nt


f(


}


i


nt



mai


n(


)


{



< br>f(



571428571


"< /p>


)







(



8



4937543



);









re

< br>tu


r




0;



}


注 意


:


通过浏览器提交答案。只填写缺少的内容

< br>,


不要填写任何多余的


内容(例如


:


说明性文字)





.


打印图形









小明开动脑筋,编写了如下的程序


,


实现该图形的打印。




de



in




N 70



oi





(cha





[][



]




in




rank, i



t row




i



t col)


{



< br>if(ran



=


< p>
1



{






a[row][co



]




'*';






r



tu< /p>



n;




}




int w = 1;

-


-


-


-


-


-


-


-