CCF历年真题C语言答案.docx

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

CCF历年真题C语言答案.docx

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

CCF历年真题C语言答案.docx

CCF历年真题C语言答案

题1:

出现次数最多的数

#include

intmain()

{

inti,j,n,s;

intt=1;

inta[10001]={0};

scanf("%d",&n);

for(i=0;i

{

scanf("%d",&s);//下标为输入值,每个数组值为输入频数

a[s]++;

if(a[s]>a[t])t=s;

if(a[s]==a[t])t=(s

s:

t);

}

printf("%d",t);

return0;

}

题2:

ISBN号码

#include

intmain()

{

intsum=0;

chara[13]={'\0'};

gets(a);

sum=(a[0]-'0')*1+(a[2]-'0')*2+(a[3]-'0')*3+(a[4]-'0')*4+(a[6]-'0')*5+(a[7]-'0')*6+(a[8]-'0')*7+(a[9]-'0')*8+

(a[10]-'0')*9;

if((sum%11==a[12]-'0')||(sum%11==10&&a[12]=='X'))//注意正确情况几种类型

{

printf("Right");

}

else

{

if(sum%11==10)

a[12]='X';

else

a[12]=sum%11+'0';

puts(a);

}

return0;

}

题3:

相反数

#include

intmain()

{

inti,j,n,t=0;

inta[501];

scanf("%d",&n);

for(i=0;i

{

scanf("%d",&a[i]);

}

for(i=0;i

{

for(j=i+1;j

{

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

}

}

printf("%d",t);

return0;

}

题4:

窗口

#include

typedefstructwindow1{

intx1,x2,y1,y2,order;

}window;

voidInputwindow(windowws[],intn)

{

inti;

for(i=1;i<=n;i++)

{

scanf("%d%d%d%d",&ws[n-i].x1,&ws[n-i].y1,&ws[n-i].x2,&ws[n-i].y2);

ws[n-i].order=i;

}

}

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

{

inti;

for(i=0;i

{

if(x>=ws[i].x1&&x<=ws[i].x2&&y>=ws[i].y1&&y<=ws[i].y2)

{

returni;

}

}

return-1;

}

voidmovewindow(windowws[],intn,intpos)

{

windoww=ws[pos];

inti;

for(i=pos-1;i>=0;i--)

{

ws[i+1]=ws[i];

}

ws[0]=w;

}

intmain()

{

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

scanf("%d%d",&n,&m);

windowws[n];

Inputwindow(ws,n);

for(i=0;i

{

scanf("%d%d",&x,&y);

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

if(pos==-1){

printf("IGNORED\n");

}

else{

printf("%d\n",ws[pos].order);

movewindow(ws,n,pos);

}

}

return0;

}

题5:

相邻数对

#include

#include

intmain()

{

inti,j,n,t=0;

inta[1001];

scanf("%d",&n);

for(i=0;i

{

scanf("%d",&a[i]);

}

for(i=0;i

{

for(j=i+1;j

{

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

}

}

printf("%d",t);

return0;

}

题6:

画图

#include

intmain()

{

inti,j,n,k,t=0;

inta[101][4];

scanf("%d",&n);

for(i=0;i

{

scanf("%d%d%d%d",&a[i][0],&a[i][1],&a[i][2],&a[i][3]);

}

for(i=0;i<101;i++)

{

for(j=0;j<101;j++)

{

for(k=0;k

{

if(j>=a[k][0]&&j=a[k][1]&&i

break;

}

if(k

t++;

}

}

printf("%d",t);

return0;

}

题7:

门禁系统

#include

intmain()

{

inti,n,s=0;

inta[1001]={0};

scanf("%d",&n);

for(i=0;i

{

scanf("%d",&s);

a[s]++;

printf("%d",a[s]);

}

return0;

}

题8:

z字形扫描

#include

intmain()

{

inti,j,k,n;

inta[500][500];

scanf("%d",&n);

for(i=0;i

{

for(j=0;j

{

scanf("%d",&a[i][j]);

}

}

for(k=0;k<2*n-1;k++)

{

for(i=0;i

{

for(j=0;j

{

if(i+j==k)

{

if(k%2==0)

{

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

}

else

{

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

}

}

}

}

}

return0;

}

题9:

图像旋转

#include

#defineN1000

inta[N][N];

intmain()

{

inti,j,n,m;

scanf("%d%d",&n,&m);

for(i=0;i

{

for(j=0;j

{

scanf("%d",&a[i][j]);

}

}

for(j=1;j<=m;j++)

{

for(i=0;i

{

if(i!

=0)

printf("");

printf("%d",a[i][m-j]);

}

printf("\n");

}

return0;

}

题10:

数字排序

#include

intmain()

{

inti,j,n,s=0;

inta[1001]={0};//注意初始化赋值

scanf("%d",&n);

for(i=0;i

{

scanf("%d",&s);

a[s]++;

}

for(i=1001;i>0;i--)//i为从后找起的频数

{

for(j=0;j<1001;j++)//数组下标从小到大

{

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

{

printf("%d%d\n",j,a[j]);

}

}

}

return0;

}

题11:

数列分段

#include

intmain()

{

inti,n,t=0;

inta[1001];

scanf("%d",&n);

for(i=0;i

{

scanf("%d",&a[i]);

}

for(i=0;i

{

if(a[i]!

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

}

printf("%d",t+1);

return0;

}

题12:

日期计算

#include

intmain()

{

inty,d,day,i;

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

scanf("%d%d",&y,&d);

if((y%4==0&&y%100!

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

{

mouth[2]++;

}

for(i=1;i<13;i++)

{

if(d>mouth[i])

{

d=d-mouth[i];

if(d==0)

{

d=mouth[i];

break;

}

}

elsebreak;//注意中断,确保月份不出错

}

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

return0;

}

题13:

数位之和

#include

intmain()

{

intn,sum=0;

scanf("%d",&n);

while(n)

{

sum=sum+n%10;

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

当前位置:首页 > 考试认证 > 司法考试

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

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