CCF历年真题C语言答案docWord格式文档下载.docx

上传人:b****5 文档编号:18211011 上传时间:2022-12-14 格式:DOCX 页数:27 大小:68.51KB
下载 相关 举报
CCF历年真题C语言答案docWord格式文档下载.docx_第1页
第1页 / 共27页
CCF历年真题C语言答案docWord格式文档下载.docx_第2页
第2页 / 共27页
CCF历年真题C语言答案docWord格式文档下载.docx_第3页
第3页 / 共27页
CCF历年真题C语言答案docWord格式文档下载.docx_第4页
第4页 / 共27页
CCF历年真题C语言答案docWord格式文档下载.docx_第5页
第5页 / 共27页
点击查看更多>>
下载资源
资源描述

CCF历年真题C语言答案docWord格式文档下载.docx

《CCF历年真题C语言答案docWord格式文档下载.docx》由会员分享,可在线阅读,更多相关《CCF历年真题C语言答案docWord格式文档下载.docx(27页珍藏版)》请在冰豆网上搜索。

CCF历年真题C语言答案docWord格式文档下载.docx

)*9;

if((sum%ll==a[12]~,)II(sum%ll==10&

&

a[12]==,X'

))//注意正确情况几种类型

printf("

Right"

);

else

if(sum%11==10)

a[12]=,X,;

a[12]=sum%11+,O'

;

puts(a);

题3:

相反数

stdio.h>

inti,j,n,t=0;

inta[501];

scanf(/z%dz/,&

i++)

scanf("

%d"

&

a[i]);

nT;

for(j二i+1;

j<

j++)

if(a[i]+a[j]==0)t++;

printft);

题4:

窗口

typedefstructwindowl{

intxl,x2,yl,y2,order;

}window;

voidInputwindow(windowws[],intn)

inti;

for(i=l;

i<

=n;

i++)

%d%d%d%d:

&

ws[n-i].xl,&

ws[n~i].yl,&

ws[n~i].x2,&

ws[n~i].y2);

ws[n-i].order=i;

intgetpos(windowws[],intn,intx,inty)

for(i=0;

n;

if(x>

=ws[i].xl&

x<

=ws[i].x2&

y>

二\vs[i].yl&

y<

=ws[i].y2){

returni;

return-1;

voidmovewindow(windowws[],intn,intpos)

windoww-ws[pos];

for(i=pos~l;

i>

=0;

i--)

ws[i+l]二ws[i];

ws[0]=w;

inti,n,m,x,y,pos;

scanf(,z%d%d,z,&

n,&

m);

windowws[n];

Inputwindow(ws,n);

m;

scanf(zz%d%d,/,&

x,&

y);

pos二getpos(ws,n,x,y);

if(pos~~l){

printf(z/lGN0RED\nz/);

else{

%d\rT,ws[pos].order);

movewindow(ws,n,pos);

题5:

相邻数对

math.h>

5nclude〈sc+dio.h〉

intmain。

inti"

j;

tHm

int匕101二4〕-

scanf(、£

d、「Kn)

for(iH0八i〈rui丰)

scanf(、豪d%d%d%d、「0a〔i二orGa〔i〕〔口烬〔i二2〕y邑i〕〔3三

for(iH0八i〈lori丰)

for(jH9j〈10r7j++)

for(kH0;

k〈三罕+)

if(j〉2k〕a第j〈a〔k二2〕&

i〉Ha〔EE第i〈a〔k二3〕)break-

if(k〈n)t+,t

 

inta〔100亍scanf(、棗d、「$n)-

for(iHsi〈rui++)

scanf(、、瓷、「0a〔i〕)八

for(iHsi〈n—rri丰)

『or(jHi+rrj〈n二++)

if(abs(a〔i〕—as)Hl)t++

prinbf(、9d、「t)-

return0-

®

6“Bs

printf(*%d,z,t);

return0;

题7:

门禁系统

#include<

stdio.h>

inti,n,s=0;

inta[1001]={0};

scanf(,z%d,z,&

printf(,z%da[s]);

题8:

z字形扫描

inti,j,k,n;

inta[500][500];

scanf("

i<

for(j=0;

j<

a[i][j]);

for(k=0;

k<

2*n-1;

k卄)

if(i+j==k)

if(k%2==0)

printf(,z%d“,a[j][i]);

printf(z,%d”,a[i][j]);

题9:

图像旋转

^defineN1000

inta[N][N];

inti,j,n,m;

%d%d"

卄+)

m;

%d:

a[i][j]);

for(j=1;

=m;

if(i!

=0)

printffzz);

printf("

a[i][m-j]);

\n"

题10:

数字排序

inti,j,n,s=0;

inta[1001]={0};

//注意初始化赋值

讥+)

for(i二1001;

i>

0;

1-)//i为从后找起的频数

1001;

j++)//数组下标从小到大{

if(a[j]二二i)//找自己

printf(,z%d%d\nz/,j,a[j]);

题11:

数列分段

inti,n,t二0;

inta[1001];

n-l;

if(a[i]!

=a[i+1])t++;

printft+1);

题12:

日期计算

inty,d,day,i;

intmouth[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};

scanf("

y,&

d);

if((y%4=0&

y%100!

=0)||(y%400二二0))

mouth[2]卄;

for(i二]

I;

13;

if(d{

>

mouth[i])

d

二d-mouth[i];

if(d二二0)

d=mouth[i];

break;

elsebreak;

〃注意中断,确保月份不出错}

printf(//%d\n%d,,)i,d);

题13:

数位之和

intn,sum=0;

scanf(z,%d/z,&

while(n)

sum=sum+n%10;

n=n/10;

题14:

消除类游戏

inti,j,k,n,m,t=l;

inta[31][31]={0};

intb[31][31]={0};

j卄)

while(a[i][j]==a[i][j+1])//check行{

j++;

if(j==m)break;

t++;

if(t>

=3)

for(k=j-t+1;

k<

=j;

k++)

b[i][k]=1;

t二1;

whi1e(a[i][j]==a[i+l][j])//check列

i++;

if(i==n)break;

for(k=i-t+1;

=i;

b[k][j]=1;

i〈n;

if(b[i][j])a[i][j]=0;

//将找到的赋0

printf(z/%d"

、a[i][j]);

printf(z/\n,z);

题15:

折点计数

inti,n,t=0;

%d〃,&

n~2;

if((a[i+1]<

a[i]&

a[i+1]<

a[i+2])||(a[i+1]>

a[i+1]>

a[i+2]))t++;

printf(z/%dz,,t);

题16:

俄罗斯方块

inti,j,n;

intk=0,count二0,down二0;

intx[4],y[4];

inta[15][10];

intb[4][4];

15;

10;

4;

b[i][j]);

if(b[i][j]==1)

x[k]=i;

y[k]=j;

k++;

while

(1)

if(a[x[i]+down][y[i]+n-1]二二0)

count++;

if(count==4)

down++;

count=0;

if(x[i]+down==14)

a[x[j]+down][y[j]+n-1]二1;

break;

a[x[j]+down-l][y[j]+n-1]二1;

}

printf(,z%d"

printf(z/\n/z);

题17:

最大波动

scanf&

n-1:

if(t<

abs(a[i]-a[i+1])){

t=abs(a[i]-a[i+1]);

printf(z/%d,z,t);

题1&

火车购票

inti,j,n,t,k;

intflag;

inta[100]={0};

intb[20]={0};

20;

b[i]=5;

t);

flag=0;

if(b[j]>

=t)〃有连续座位

for(k=1;

=t;

printf(z/%d”,j*5+(5-b[j])+k);

printf(〃\n〃);

b[j]=b[j]-t;

flag=1;

if(flag==0&

t>

0)//无连续座位且有人买票

while(b[j]>

=1)〃分散买票

printf(,?

%d”,j*5+(5-b[j])+1);

t—;

b[j]—;

printf(z/\nz/);

//注意换行的情况

题19:

中间数

stdio>

h>

inti,j,n,zuo,you;

intt=-1;

{scanf("

zuo=0;

//注意初始化

you=0;

j++)//注意j的范围

if(a[i]>

a[j])

ZUO++;

if(a[i]<

you++;

if(zuo==you)

t=a[i];

题20:

工资计算

intmain()

inti,t;

intx=0;

=3500)

{printft);

for(i=3600;

=100000;

i=i+100)

if(i>

=3600&

=5000)

x+=(i-3500)*0.03;

=5100&

=8000)

X+=(i-5000)*0.1+45;

=8100&

=12500)

x+=(i-8000)*0.2+45+300;

二12600&

二38500)

x+=(i-12500)*0.25+45+300+900;

二38600&

=58500)

x+=(i-38500)*0.3+45+300+900+6500;

=58600&

=83500)

x+二(i-58500)*0.35+45+300+900+6500+6000;

=83600)

x+二(i-83500)*0.45+45+300+900+6500+6000+8750;

if(i-x==t)

printf(,z%d,z,i);

题21:

分蛋糕

L

inti,n,k;

intsum=0,t=0;

k);

sum=sum+a[i];

if(sum>

=k)

t++;

sum=0;

elseif(i==n-1)//注意这里的elseif

题22:

学生排队

intp,q,k;

for(i=1;

=n;

a[i]二i;

=m;

p,&

q);

if(a[j]==p)

//注意屮断

if(q<

0)

for(k=-1;

k>

=q;

k-)//注意循环移动数组中的元素

a[j+k+1]=a[j+k];

a[j+q]二p;

elseif(q>

q;

a[j+k]二a[j+k+1];

}a[j+q]二p;

二n;

printf(,z%da[i]);

题23:

打酱油

intmdin()

30)

intN,t=0;

scanf("

N);

if(N<

N/10;

30)/10+4;

(N/

((N-(N/50)*

〃注意计算

50)*7+((N-(N/50)*50)/30)*4+(N-(N/50)*5050)/30)*30)/10;

printf(〃%cT,t);

题24:

公共钥匙盒

#include<

structscq{intkey;

intaction;

inttime;

temp=arr[i];

arr[i]=arr[j]arr[j]=temp;

elseif(arr[i].time二二arr[j].time)

arr[i]=arr[j];

arr[j]=temp;

elseif(arr[i].action二二arr[j].ac

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1