程序设计大赛.docx
- 文档编号:6825043
- 上传时间:2023-01-10
- 格式:DOCX
- 页数:13
- 大小:23.13KB
程序设计大赛.docx
《程序设计大赛.docx》由会员分享,可在线阅读,更多相关《程序设计大赛.docx(13页珍藏版)》请在冰豆网上搜索。
程序设计大赛
程序设计赛题目(未知)
2007-10-1223:
20
1、要登上n阶楼梯,每一步允许跨一阶或两阶,共有多少种登楼梯的方法?
(n>=2)假设每一步允许跨一步或n-1步,则又有多少种等法?
2、一根29cm长的尺子,只允许在它上面刻7个刻度,若要用它能量出1-29cm的各种整长度,刻度应如何选择?
3、某人的年龄的3次方是4位数,4次方是6位数,并且这两个数中没有重复的数字,试求此人的年龄?
4、某宿舍住有A、B、C、D、E5人,某次考试中,该5人包括了班级前5名,但5人均不知道各自的真实名次,于是5人便互相猜测如下:
A:
E为第一;B:
我可能为第二;C:
A一定最不妙;D:
C肯定不会最好;E:
D为第一;
已知:
5人中,得第一和第二同学的推测正确;且E不为第二也不为第三;
试确定5人的名次(尽可能用简单的方法)
5、安排轮休:
某公司有7位保安,A、B、C、D、E、F、G,为了工作的需要,每人每周只能轮休一天,考虑每个人的特殊情形,让他们先选择希望哪一天轮休。
他们的选择如下:
A:
星期二、四;B:
星期一、六;C:
星期三、日;D:
星期五;E:
星期一、四、六;F:
星期二、五;G:
星期三、六、日。
请为其确定一个令所有人都满意的轮休表。
6、矿石与身份:
有A、B、C3名地质勘探队员对一块矿石进行判断,每人判断如下:
A:
两次的判断为:
它不是铁矿石,且非铜矿石;
B:
两次的判断为:
它不是铁矿石,是锡矿石;
C:
两次的判断为:
它不是锡矿石,是铁矿石。
3人中,工程师、技术员、实习生各一员,工程师两次判断均对,技术员只对一次,实习生两次都不对。
问:
该矿石是什么矿,还有3人的身份如何?
要求以上所有问题均要涉及文件的相关操作;输出文件名为:
estdout.pc2
1.bignumber
输入文件:
add.txt
输出文件:
estdout.pc2
从输入文件中读入两个代表大整数的字符串,这两个代表大整数的字符串分别居于文件中的两行,要求完成这两个大整数的相加,相加所得的和仍旧以字符串的形式输出到输出文件中。
大整数的长度仅仅受到空间的限制。
例
输入:
12345678901234567890
234567*********78901234
输出:
23469134691246913469124
2.array
输入文件:
array.txt
输出文件:
estdout.pc2
从输入文件中输入方阵的大小N,以及要求求和的点坐标(行,列)。
首先完成从1开始按行递增初始化,然后求该点的竖线、横线、以及过该点平行于主、次对角线的斜线上所有元素的和。
例
输入:
4
2
3
输出:
118
运算过程如下:
矩阵初始化为:
1234
5678
9101112
13141516
对点(2,3)求和,
过点(2,3)的竖线上的和=3+7+11+15=36
过点(2,3)的横线上的和==5+6+7+8=26
过点(2,3)的与次对角线平行的斜线上的和=4+7+10+13=35
因此所有过该点的竖线、横线、以及平行于主、次对角线的斜线上所有元素
3.computer
输入文件:
comput.txt
输出文件:
estdout.pc2
从输入文件中读入四则运算式,该运算式由+、-、*、/、=以及整数所构成,要求完成对该运算式的求值,并将结果输出到输出文件中。
其中输入文件中表达式里没有空格,表达式与等号之间也没有空格。
例
输入:
3+2-5*0=
输出:
5
重庆大学程序设计大赛试题(第一部分)
2007-10-1223:
24
重庆大学第二届程序设计大赛试题
(考题严禁带出赛场)
1.计算器
设计一个简单的计算器,它能够完成十进制数的“+-×/%”运算,其运算所需的运算数据和运算符从给定的输入文件中输入,它根据输入的运算数据和运算符进行计算,并将运算的结果写入指定的文件中。
输入文件名“jisuanqi.txt”
输出文件名“estdout.pc2”
输入文件由一行或多行构成,每行表示一次运算所需的运算数和运算符,顺序为“运算数运算符运算数”(中间无空格);运算数是实数;运算符只能是“+-×/%”中的一个;计算本次运算结果,并将其输出到输出文件相应的行上。
输入文件的最后一行是“000”表示文件结束。
*要求输出结果格式与输出样本一致。
输入样本
3+2
4*5
4.5–1.5
5%2
000
输出样本
5
20
3
1
2.字符频数
在设计手机键盘时,对各个按键上分布的英文字母需要合理的规划。
这种合理规划的一个首要工作就是统计英文字母的使用频率。
现要求从输入文件中读取其中的所有字符,这些字符只包括26个英文大小写字母以及10个阿拉伯数字。
然后统计出各字符(大小写不敏感的)的使用频率,并按英文字母的顺序输出输入文件中所出现的英文字母的频率。
输入文件名“zifupinshu.txt”
输出文件名“estdout.pc2”
输入格式:
输入文件里只有一行由26个英文大小写字母(大小写不敏感的)以及10个阿拉伯数字组成的字符串。
输出格式:
将输入文件的字符串里每一个出现过的字符+‘:
’+它的出现频率数输出到同一行里,形如“a:
N”这表示a这个字符出现了N次。
*要求输出格式与输出样本一致。
输入样本
AabbbcbhcDB
输出样本
a:
2
b:
5
c:
2
d:
1
h:
0
3.完全数问题
完全数是一些特殊的自然数:
它所有的真因子(即除了本身以外的约数)的和,恰好等于它本身,又称完美数、完满数,意为“完美的数”。
它有一些非常奇妙的性质,如每一个完全数都可以写成连续自然数之和。
如自然数6,它有约数1、2、3、6,除去它本身6外,其余3个数相加的和为6,所以6是一个完全数。
现要求从输入文件中读取多个自然数,然后判断它是否是完全数,如果是完全数,则输出1,否则输出0。
输入文件名“wanquanshu.txt”
输出文件名“estdout.pc2”
在输入文件里有一行或多行,每一行有一个自然数N,然后判断它是否是完全数,如果是完全数,则在输出文件对应的行里输出1,否则输出0。
输入文件的最后一行是单个整数0表示文件结束。
*要求输出格式与输出样本一致。
输入样本
6
7
8
0
输出样本
1
0
0
4.背包问题
小偷在行窃时会遇到一个如何选取物品的问题,他所带包的容量C是一个有限的值,而房间里的物品有不同的体积W和价值P,所以他应当决定如何从这些物品中选取部分物品,在不超过容量C的情况下,所窃取的物品价值最大。
现对此问题做一些约定,包容量C、物品体积W、物品价值P均为整数值,而且每种物品只有一个。
现要求帮助小偷做出最优的选择,从输入文件中读取包容量C、物品数量N、物品体积W、物品价值P,然后在输出文件中给出所窃取物品的最大价值。
要求输出结果格式与输出样本一致。
输入文件名“beibao.txt”
输出文件名“estdout.pc2”
输入格式:
输入文件由4行构成,第一行是一个整数C,它代表包的容量;第二行是也一个整数N,它代表物品的数量;第三行N个用空格分开的整数:
Wi其中(i=1…N)
,Wi表示第i个物品的体积;第三行也是N个用空格分开的整数:
Pi其中(i=1…N),Pi表示i个物品的价值。
输出格式:
在输出文件里是一个整数,它表示所窃取物品的最大价值。
*要求输出格式与输出样本一致。
输入样本
116//容量C
3//物品数量
1001410//各物品的体积
201815//各物品的价值
输出样本
38
重庆大学程序设计大赛试题(第三部分)
2007-10-1223:
26
7.OptimalArrayMultiplicationSequence
GiventwoarraysAandB,wecandeterminethearrayC=ABusingthestandarddefinitionofmatrixmultiplication:
ThenumberofcolumnsintheAarraymustbethesameasthenumberofrowsintheBarray.Notationally,let'ssaythatrows(A)andcolumns(A)arethenumberofrowsandcolumns,respectively,intheAarray.ThenumberofindividualmultiplicationsrequiredtocomputetheentireCarray(whichwillhavethesamenumberofrowsasAandthesamenumberofcolumnsasB)isthenrows(A)columns(B)columns(A).Forexample,ifAisa10×20array,andBisa20×15array,itwilltake10×15×20,or3000multiplicationstocomputetheCarray.
Toperformmultiplicationofmorethantwoarrayswehaveachoiceofhowtoproceed.Forexample,ifX,Y,andZarearrays,thentocomputeXYZwecouldeithercompute(XY)ZorX(YZ).SupposeXisa5×10array,Yisa10×20array,andZisa20×35array.Let'slookatthenumberofmultiplicationsrequiredtocomputetheproductusingthetwodifferentsequences:
(X×Y)×Z
∙5×20×10=1000multiplicationstodeterminetheproduct(X×Y),a5×20array.
∙Then5×35×20=3500multiplicationstodeterminethefinalresult.
∙Totalmultiplications:
4500.
X×(Y×Z)
∙10×35×20=7000multiplicationstodeterminetheproduct(Y×Z),a10×35array.
∙Then5×35×10=1750multiplicationstodeterminethefinalresult.
∙Totalmultiplications:
8750.
Clearlywe'llbeabletocompute(X×Y)×Zusingfewerindividualmultiplications.
Giventhesizeofeacharrayinasequenceofarraystobemultiplied,youaretodetermineanoptimalcomputationalsequence.Optimality,forthisproblem,isrelativetothenumberofindividualmultiplcationsrequired.
Inputfilename“Array.txt”
Outputfilename“estdout.pc2”
Input
Foreacharrayinthemultiplesequencesofarraystobemultipliedyouwillbegivenonlythedimensionsofthearray.EachsequencewillconsistofanintegerNwhichindicatesthenumberofarraystobemultiplied,andthenNpairsofintegers,eachpairgivingthenumberofrowsandcolumnsinanarray;theorderinwhichthedimensionsaregivenisthesameastheorderinwhichthearraysaretobemultiplied.AvalueofzeroforNindicatestheendoftheinput.Nwillbenolargerthan10.
Output
AssumethearraysarenamedA1,A2,...AN.Youroutputforeachinputcaseistobealinecontainingaparenthesizedexpressionclearlyindicatingtheorderinwhichthearraysaretobemultiplied.Prefixtheoutputforeachcasewiththecasenumber(theyaresequentiallynumbered,startingwith1).Youroutputshouldstronglyresemblethatshowninthesamplesshownbelow.If,bychance,therearemultiplecorrectsequences,anyofthesewillbeacceptedasavalidanswer.
SampleInput
3
15
520
201
3
510
1020
2035
6
3035
3515
155
510
1020
2025
0
SampleOutput
Case1:
(A1x(A2xA3))
Case2:
((A1xA2)xA3)
Case3:
((A1x(A2xA3))x((A4xA5)xA6
重大第七届程序设计大赛题----蛇形矩阵
分类:
编程2009-11-1513:
05125人阅读评论
(1)收藏举报
要求:
蛇形矩阵
输入文件名"snake.txt"
输出文件名"estdout.pc2"
蛇形矩阵是由1开始的自然数依次排列成的一个矩阵上三角形。
输入格式
输入文件由一行或多行,每行由一个正整数N组成,(N不大于100)。
输入文件的最后一行是'#'表示文件结尾。
输出格式
对于每一组数据,输出一个N行的蛇形矩阵。
两组输出之间不要额外的空行。
矩阵三角中同一行的数字用一个空格分开。
行尾不要多余的空格。
输入样本
5
#
输出样本
1341015
25914
4813
712
11
我的程序:
#include
#include
//从文件中读取数到num[]中
intmyread(intnum[])
{
FILE*pt;
chara[3];
intcount=0,i;
if(NULL==(pt=fopen("snake.txt","r")))
{
cout<<"can'topenthefile!
"< } else { fscanf(pt,"%s",a); while(a[0]! ='#') { count++; fscanf(pt,"%s",a); } rewind(pt); for(i=0;i fscanf(pt,"%d",&num[i]); fclose(pt); } returncount; } //向文件添加数据array[][100] voidmywrite(intarray[][100],intn) { FILE*pt; inti,j; if(NULL==(pt=fopen("out.txt","a"))) { cout<<"can'topenthefile! "< } else { for(i=0;i { for(j=0;j { fprintf(pt,"%d",array[i][j]); } fprintf(pt,"%d",array[i][j]); fprintf(pt,"/n"); } fprintf(pt,"%d",array[i][0]); fclose(pt); } } //向文件out.txt加换行 voidmyline() { FILE*pt; if(NULL==(pt=fopen("out.txt","a"))) { cout<<"can'topenthefile! "< } else { fprintf(pt,"/n"); fclose(pt); } } //将文件out.txt清空 voidcreateFile() { FILE*pt; if(NULL==(pt=fopen("out.txt","w"))) { cout<<"can'topenthefile! "< } else { fclose(pt); } } voidmain() { inti,j,k; intnum[100]; intsnake[100][100];//用于存放蛇形矩阵(行<=100) intcount=myread(num);//读取数据个数,赋给count;并将数据赋给数组num[] createFile();//清空文件 for(k=0;k { for(i=0;i { snake[i][0]=(i+1)*i/2+1; for(j=1;j { snake[i][j]=snake[i][j-1]+j+i+1; } } mywrite(snake,num[k]);//存数据 myline();//存换行 } //最后一组 for(i=0;i { snake[i][0]=(i+1)*i/2+1; for(j=1;j { snake[i][j]=snake[i][j-1]+j+i+1; } } mywrite(snake,num[k]); } 输入: 5 12 23 9 6 # 输出: 1361015 25914 4813 712 11 136101521283645556678 2591420273544546577 481319263443536476 71218253342526375 1117243241516274 16233140506173 223039496072 2938485971 37475870 465769 5668 67 13610152128364555667891105120136153171190210231253276 259142027354454657790104119135152170189209230252275 48131926344353647689103118134151169188208229251274 7121825334252637588102117133150168187207228250273 111724324151627487101116132149167186206227249272 1623314050617386100115131148166185205226248271 2230394960728599114130147165184204225247270 29384859718498113129146164183203224246269 374758708397112128145163182202223245268 4657698296111127144162181201222244267 56688195110126143161180200221243266 678094109125142160179199220242265 7993108124141159178198219241264 92107123140158177197218240263 106122139157176196217239262 121138156175195216238261 137155174194215237260 154173193214236259 172192213235258 191212234257 211233256 232255 254 136101521283645 2591420273544 481319263443 71218253342 1117243241 16233140 223039 2938 37 1361015
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序设计 大赛