- 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)