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

  • 490
  • 0
  • 约1.31万字
  • 约 23页
  • 2018-09-25 发布于江西
  • 举报
CCF历年真题C语言答案.doc

题1:出现次数最多的数 #includestdio.h int main() { int i,j, n, s; int t = 1; int a[10001] = {0}; scanf(%d, n); for (i = 0; i n; i++) { scanf(%d, s); //下标为输入值,每个数组值为输入频数 a[s]++; if (a[s] a[t]) t=s; if (a[s] == a[t]) t=(st? s:t); } printf(%d, t); return 0; } 题2:ISBN号码 #includestdio.h int main() { int sum=0; char a[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==10a[12]==X)) //注意正确情况几种类型 { printf(Right); } else { if (sum%11 == 10) a[12] = X; else a[12] = sum%11 + 0; puts(a); } return 0; } 题3:相反数 #includestdio.h int main() { int i, j, n,t=0; int a[501]; scanf(%d, n); for (i = 0; i n; i++) { scanf(%d, a[i]); } for (i = 0; i n-1; i++) { for (j = i + 1; j n; j++) { if (a[i] + a[j] == 0) t++; } } printf(%d, t); return 0; } 题4:窗口 #includestdio.h typedef struct window1{ int x1,x2,y1,y2,order; } window; void Inputwindow(window ws[],int n) { int i; 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; } } int getpos(window ws[],int n,int x,int y) { int i; for(i=0;in;i++) { if(x=ws[i].x1x=ws[i].x2y=ws[i].y1y=ws[i].y2) { return i; } } return -1; } void movewindow(window ws[],int n,int pos) { window w=ws[pos]; int i; for(i=pos-1;i=0;i--) { ws[i+1]=ws[i]; } ws[0]=w; } int main() { int i,n,m,x,y,pos; scanf(%d%d,n,m); window ws[n]; Inputwindow(ws,n); for(i=0;im;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); } } return 0; } 题5:相邻数对 #includestdio.h #includemath.h int main() { int i, j, n,t=0; int a[1001]; scanf(%d, n); for (i = 0; i n; i++) { scanf(%d, a[i]); } for (i = 0; i n - 1; i++) { for (j = i + 1; j n; j++) { if (abs(a[i] - a

文档评论(0)

1亿VIP精品文档

相关文档