蓝桥杯预赛题目答案.docx
- 文档编号:7326679
- 上传时间:2023-01-23
- 格式:DOCX
- 页数:11
- 大小:17.15KB
蓝桥杯预赛题目答案.docx
《蓝桥杯预赛题目答案.docx》由会员分享,可在线阅读,更多相关《蓝桥杯预赛题目答案.docx(11页珍藏版)》请在冰豆网上搜索。
蓝桥杯预赛题目答案
2011年蓝桥杯预赛题目答案
〃预赛NO.1题
#include
voidmain()
{
intJC[]
{l,l,2,6,24,120,720,5040,40320,362880};
inti;
intsum;
intx;
for(i=100;i<1000;i++)
{
sum=0;
x=i;
while(x)
{
sum+=JC[x%10];
x/=10;
}
if(i==sum)
printf(n%d\nn,i);
}
#include
voidmain()
(
doublex[10]={7,8,8,8,8,20,8,8,8,8};
inti,j;
doubledif=-1;
doublebad;
doublesum;
intn=10;
doublet;
for(i=0;i { sum=0; for(j=0;j { if(j! =i)sum+=x[j]; } t=x[i]-sum/(n-1); if(t<0)t=-t; if(txiif) { dif=t; bad=x[i]; printf(H%dz%f\n"x[i]); } } printf(Hbad=%lf\n"zbad); } 〃预赛NO.3题 #include #include voidreverse_str(char^buf,intn) chartmp; if(n<2)return;tmp=buf[O]; buf[O]=buf[n-l];buf[n-l]=tmp; reverse_str(buf+l,n-2);}voidmain() { chara[10]=nzhangheH;reverse_str(a,strlen(a));printf(H%s\n,\a); } #include voidfun(doubledTestNo,intiBase) { intiT[8]; intiNo; printf(H十进制正小数%f转换成%d进制数为: HrdTestNo,iBase); for(iNo=0;iNo<8;iNo++) dTestNo*=iBase; iT[iNo]=(int)dTestNo; printf(H0.n); for(iNo=0;iNo<8;iNo++)printf(H%dHfiT[iNo]);printf(n\nn); } voidmain() { doubledTestNo=0・795; intiBase; for(iBase=2;iBase<=9;iBase++) fun(dTestNo,iBase); printf(M\nH); } #include #include #include voidshift(char*srintn) ( char*p; char*q; intlen=strlen(s); char*s2; if(len==0)return; if(n<=0||n>=len)return; s2=(char*)malloc(sizeof(char)*(len+1)); p=s; q=s2+n%len; while(*p) { *q++=*p++; if(q-s2>=len) { *q=・\0T q=s2; } } strcpy(srs2); free(s2); voidmain() charstr[10]=Hzhanghen; shift(strz2);printf(H%s\nH,str); } 〃预赛NO.6题 #include #include intg(inta,intb)//b是摇号产生的{ charsa[]=n00000000n; charsb[]=nOOOOOOOOn;intn=0; inti-j;chart; sprintf(sa/f%8df\a);sprintf(sb;,%8d,\b);for(i=0;i<8;i++) for(j=l;j<=8-i;j++) t=sa[i+j];sa[i+j]=0;if(strstr(sb,sa+i)) { if(j>n)n=j; } sa[i+j]=t; returnn; } voidmain() { inta=12345678; intb=42347856;printf(H%d\nf\g(a,b)); } 预赛NO・7题 #include m: 袋中红球的数目 n: 袋中白球的数目 X: 需要取出的数目y: 红球至少出现的次数*/ doublepro(intm,intn9intx,inty){ doublepl; doublep2; if(y>x)return0; if(y==O)return1; if(y>m)return0;if(x-n>y)return1; pl=取红球 Pl+ p2=pn)(m,n・l,x・l,y);//取白球return(double)m/(m+n)* (double)n/(m+n)*p2; }voidmain() printf「请依次输入红球个数、白球个数及 要取的球的个数: n); scanf「%d%d%(T,&m,&n,&x); printf(H%lf\nn,pro(m9n,x,x/2+l)); } 〃预赛NO.8题 #include #include doubledn;//n的值(用double型可以计算层数)voidmain() intp,q; scanf(n%lfn9&dn); c=(int)(dn-0.1)/3+l; in=(int)dn; for(i=0,k=in-l;i { if(i==k) { m[i][i]=idx;break; } for(p=i;p for(p=i,q=k;pvk;p++,q-・)m[p][q]=idx++; for(p=k;p>i;p—)m[p][i]=idx++; } for(p=0;p for(q=0;q printf(n%4dn,m[p][q]); } printf(n\nn); 〃预赛NO.9题 #include intgm;〃商品的种类 intprice[1000];〃各种商品价钱intcount[1000];〃各种商品的个数 intmethod[1000][1000];//每种解决方案中各商 品的个数 intcost;//当前花费 voidoutput。 /衔出解决方案 intij; printf(n%d\nT\sln); for(i=0;i for(j=0;j printf(H%3dH^method[i][j]);printf(n\nn); } } voidfun(intm) { inti; if(cost==1000) { for(i=0;i method[sln][i]=count[i];sln++; return; } if(cost>1000IIm<0) return; //choosem ++count[m]; cost+=price[m]; fun(m); //notchoosem —count[m];cost-=price[m];fun(m-l); } voidmain() { intm;//商品的种类intk; scanf(n%df\&m); gm=m; (k=0;k for scanf(H%d",&price[k]); fun(m-l); output(); } 〃预赛NO.IO题 #include #include chara[26]={*1abcdefghijklmnopqrstuvwxyzn}; charkey[26];〃密钥 intkey_len;〃密钥长度 intm⑸⑸;〃加密矩阵 charInput[1000];〃待加密串 charSecret[1000];〃密文 voidInitM() { intij; 〃将key中的字符装入矩阵 for(i=O;i { m[i/5][i%5]=key[i]; a[key[i]-97]=噪;〃表示已经装入矩阵} //将其余字母装入矩阵 forQ=0;j<26&&i<25;j++) m[i/5][i%5]=a[j]; aUJ=嗦; i++; } } intInM(inti) { intp,q; intflag=O; for(p=0;p<5&&flag! =l;p++) { for(q=0;q<5;q++) { if(Input[i]==m[p][q]) flag=l;break; }returnflag; } introw(inti) { intp,q; for(p=0;p<5;p++) { for(q=0;q<5;q++) { if(Input[i]==m[p][q])returnp; } } } intcolumn(inti) { intp,q; for(p=0;p<5;p++) for(q=0;qv5;q++) if(Input[i]==m[p][q])returnq; } } voidtranslate(char*input,intlen) { intij; intrl』2,cl,c2; if(len==1) { Secret[0]=Input⑹; } else { for(i=0;i { j=i+l; if((Input[i] Input[j])ll((InM(i)+InM(j))==1)) Secret[i]=Input[i]; Secret[j]=Input[j];continue; } if((row(i)==row(j))ll(column(i) ==column(j))) Secret[i]=Input[j]; Secret[j]=Input[i];continue; }rl=row(i);cl=column(i); r2=row(j); c2=column(j); Secret[i]=m[rl][c2]; Secret[j]=m[r2][cl]; } if(i==8n+l)〃只剩1个 i-=2; Secret[i]=Input[i]; } } voidmain() { scanf(H%sn,key);scanf(n%sf\Input); key_len=strlen(key); InitM();〃初始化加密矩阵translate(Input,strlen(Input));〃加密printf(n%s\nn,Secret);//^出密文
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 蓝桥杯 预赛 题目 答案