CCF历年真题C语言答案doc.docx
- 文档编号:653277
- 上传时间:2022-10-11
- 格式:DOCX
- 页数:33
- 大小:23.19KB
CCF历年真题C语言答案doc.docx
《CCF历年真题C语言答案doc.docx》由会员分享,可在线阅读,更多相关《CCF历年真题C语言答案doc.docx(33页珍藏版)》请在冰豆网上搜索。
CCF历年真题C语言答案doc
题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; n=n/10; } printf("%d",sum); return0; } 题14
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- CCF 历年 语言 答案 doc
![提示](https://static.bdocx.com/images/bang_tan.gif)