CCF历年真题C语言问题详解_第1页
CCF历年真题C语言问题详解_第2页
CCF历年真题C语言问题详解_第3页
CCF历年真题C语言问题详解_第4页
CCF历年真题C语言问题详解_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实用标准文档题 1 :出现次数最多的数#includeint main()int i,j, n, s;int t = 1;int a10001 = 0;scanf(%d, &n);for (i = 0; i at)t=s;if (as = at)t=(st? s:t);printf(%d, t);return 0;题 2: ISBN#includeint main()文案大全实用标准文档int sum=0;char a13 = 0;gets(a);sum = (a0 - 0)*1 + (a2 - 0) * 2 + (a3 - 0) * 3 + (a4 - 0) * 4 + (a6 - 0)*

2、5 + (a7 - 0) * 6 + (a8 - 0) * 7 + (a9 - 0) * 8 + (a10 - 0) * 9;if(sum%11=a12-0)|(sum%11=10&a12=X)/ 注意正确情况几种类型printf(Right);elseif (sum%11 = 10)a12 = X;elsea12 = sum%11 + 0;puts(a);return 0;文案大全实用标准文档题 3 :相反数#includeint main()int i, j, n,t=0;int a501;scanf(%d, &n);for (i = 0; i n; i+)scanf(%d, &ai);f

3、or (i = 0; i n-1; i+)for (j = i + 1; j n; j+)if (ai + aj = 0) t+;printf(%d, t);return 0;文案大全实用标准文档题 4:窗口#includetypedef struct window1int 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,&wsn-i.x1,&wsn-i.y1,&wsn-i.x2,&wsn-i.y2);wsn-i.order=i;int getpos(w

4、indow ws,int n,int x,int y)int i;for(i=0;i=wsi.x1&x=wsi.y1&y=0;i-)wsi+1=wsi;ws0=w;int main()int i,n,m,x,y,pos;scanf(%d%d,&n,&m);window wsn;Inputwindow(ws,n);for(i=0;im;i+)文案大全实用标准文档scanf(%d%d,&x,&y);pos=getpos(ws,n,x,y);if(pos=-1)printf(IGNOREDn);elseprintf(%dn,wspos.order);movewindow(ws,n,pos);retu

5、rn 0;题 5 :相邻数对#include#includeint main()int i, j, n,t=0;int a1001;scanf(%d, &n);for (i = 0; i n; i+)文案大全实用标准文档scanf(%d, &ai);for (i = 0; i n - 1; i+)for (j = i + 1; j n; j+)if (abs(ai - aj) = 1) t+;printf(%d, t);return 0;题 6:画图#includeint main()int i, j, n,k, t = 0;int a1014;scanf(%d, &n);for (i = 0

6、; i n; i+)scanf(%d%d%d%d, &ai0, &ai1, &ai2, &ai3);文案大全实用标准文档for (i = 0; i 101; i+)for (j = 0; j 101; j+)for (k = 0; k = ak0 & j = ak1 & i ak3)break;if (k n)t+;printf(%d, t);return 0;题 7 :门禁系统#includeint main()int i, n, s = 0;文案大全实用标准文档int a1001 = 0 ;scanf(%d, &n);for (i = 0; i n; i+)scanf(%d, &s);as

7、+;printf(%d , as);return 0;题 8 : z 字形扫描#includeint main()int i, j, k, n;int a500500;scanf(%d, &n);for (i = 0; in; i+)for (j = 0; jn; j+)scanf(%d, &aij);文案大全实用标准文档for (k = 0; k2 * n - 1; k+)for (i = 0; in; i+)for (j = 0; jn; j+)if (i + j = k)if (k % 2 = 0)printf(%d , aji);elseprintf(%d , aij);文案大全实用标

8、准文档return 0;题 9 :图像旋转#include#define N 1000int aNN;int main()int i, j, n, m;scanf(%d%d, &n, &m);for (i = 0; i n; i+)for (j = 0; j m; j+)scanf(%d, &aij);for (j = 1; j =m; j+)for (i = 0; i n; i+)if (i != 0)文案大全实用标准文档printf( );printf(%d, aim - j);printf(n);return 0;题 10 :数字排序#includeint main()int i, j,

9、 n,s=0;int a1001 = 0;/ 注意初始化赋值scanf(%d, &n);for (i = 0; i 0; i-)/i为从后找起的频数for (j = 0; j 1001; j+)/ 数组下标从小到大文案大全实用标准文档if (aj = i)/ 找自己printf(%d %dn, j, aj);return 0;题 11 :数列分段#includeint main()int i, n,t=0;int a1001;scanf(%d, &n);for (i = 0; i n; i+)scanf(%d, &ai);for (i = 0; i n - 1; i+)文案大全实用标准文档if

10、 (ai != ai + 1) t+;printf(%d, t + 1);return 0;题 12 :日期计算#includeint main()int y, d, day, i;int mouth13 = 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)mouth2+;for (i = 1; i mouthi)d = d - mouthi;if (d = 0)文案大全实用标准文档d = mouthi;break;else break

11、;/ 注意中断,确保月份不出错printf(%dn%d, i, d);return 0;题 13 :数位之和#includeint main()int n, sum = 0;scanf(%d, &n);while (n)sum = sum + n%10;n = n / 10;printf(%d, sum);文案大全实用标准文档return 0;题 14 :消除类游戏#includeint main()int i, j,k, n, m,t=1;int a3131 = 0 ;int b3131 = 0 ;scanf(%d%d, &n, &m);for (i = 0; i n; i+)for (j

12、= 0; j m; j+)scanf(%d, &aij);for (i = 0; i n; i+)for (j = 0; j = 3)for (k = j - t + 1; k = j; k+)bik = 1;t = 1;for (j = 0; j m; j+)for (i = 0; i = 3)for (k = i - t + 1; k = i; k+)bk j = 1;t = 1;for (i = 0; i n; i+)for (j = 0; j m; j+)if (bij) aij = 0;/ 将找到的赋0文案大全实用标准文档for (i = 0; i n; i+)for (j = 0;

13、 j m; j+)printf(%d , aij);printf(n);return 0;题 15 :折点计数#includeint main()int i, n,t=0;int a1001;scanf(%d, &n);for (i = 0; i n; i+)scanf(%d, &ai);for (i = 0; i n-2; i+)文案大全实用标准文档if (ai + 1 ai & ai + 1 ai & ai + 1 ai +2) t+;printf(%d, t);return 0;题 16 :俄罗斯方块#includeint main()int i, j, n;int k = 0,coun

14、t=0,down=0;int x4, y4;int a1510;int b44;for (i = 0; i 15; i+)for (j = 0; j 10; j+)scanf(%d, &aij);文案大全实用标准文档for (i = 0; i 4; i+)for (j = 0; j 4; j+)scanf(%d, &bij);scanf(%d, &n);for (i = 0; i 4; i+)for (j = 0; j 4; j+)if (bij = 1)xk = i;yk = j;k+;while (1)文案大全实用标准文档for (i = 0; i 4; i+)if (axi + down

15、yi + n - 1 = 0)count+;if (count = 4)down+;count = 0;elseif (xi + down = 14)for (j = 0; j 4; j+)axj + downyj + n - 1 = 1;break;文案大全实用标准文档elsefor (j = 0; j 4; j+)axj + down - 1yj + n - 1 = 1;break;for (i = 0; i 15; i+)for (j = 0; j 10; j+)printf(%d , aij);printf(n);return 0;文案大全实用标准文档题 17 :最大波动#includ

16、e#includeint main()int i, n,t=0;int a1001 = 0 ;scanf(%d, &n);for (i = 0; i n; i+)scanf(%d, &ai);for (i = 0; i n-1; i+)if (t abs(ai - ai + 1)t = abs(ai - ai + 1);printf(%d, t);return 0;文案大全实用标准文档题 18 :火车购票#includeint main()int i, j, n, t,k;int flag;int a100 = 0 ;int b20 = 0;scanf(%d, &n);for (i = 0;

17、i 20; i+)bi = 5;for (i = 0; i n; i+)scanf(%d, &t);flag = 0;for (j = 0; j = t)/ 有连续座位for (k = 1; k 0)/ 无连续座位且有人买票for (j = 0; j = 1)/ 分散买票printf(%d , j * 5 + (5 - bj) + 1);t-;bj-;printf(n);/ 注意换行的情况文案大全实用标准文档return 0;题 19 :中间数#includeint main()int i,j,n,zuo,you;int t = -1;int a1001;scanf(%d, &n);for (

18、i = 0; i n; i+)scanf(%d, &ai);for (i = 0; i n; i+)zuo = 0;/ 注意初始化you = 0;for (j = 0; j aj)文案大全实用标准文档zuo+;if (ai aj)you+;if (zuo = you)t = ai;printf(%d, t);return 0;题 20 :工资计算#includeint main()int i, t;int x = 0;scanf(%d, &t);if (t = 3500)printf(%d, t);文案大全实用标准文档for (i = 3600; i = 3600 & i = 5100 & i

19、 = 8100 & i = 12600 & i = 38600 & i = 58600 & i = 83600)x += (i - 83500)*0.45 + 45 + 300 + 900 + 6500 + 6000 + 8750;if (i - x = t)printf(%d, i);break;return 0;题 21 :分蛋糕#includeint main()int i, n, k;文案大全实用标准文档int sum = 0, t = 0;int a1001;scanf(%d%d, &n, &k);for (i = 0; i n; i+)scanf(%d, &ai);for (i =

20、 0; i =k)t+;sum = 0;else if (i = n - 1)/ 注意这里的else ift+;printf(%d, t);return 0;文案大全实用标准文档题 22 :学生排队#includeint main()int i, j, n, m;int p, q, k;scanf(%d%d, &n, &m);int a1001 = 0 ;for (i = 1; i = n; i+)ai = i;for (i = 1; i = m; i+)scanf(%d%d, &p, &q);for (j = 1; j = n; j+)if (aj = p)break;/ 注意中断if (q

21、 = q; k-)/ 注意循环移动数组中的元素aj + k + 1 = aj + k;aj + q = p;else if (q 0)for (k = 0; k q; k+)aj + k = aj + k + 1;aj + q = p;for (i = 1; i = n; i+)printf(%d , ai);return 0;文案大全实用标准文档题 23 :打酱油#includeint main()int N, t = 0;scanf(%d, &N);if (N 30)t = N / 10;else if (N 50)t = (N - 30) / 10 + 4;elset = (N / 50

22、) * 7 + (N - (N / 50) * 50) / 30) * 4 + (N - (N / 50) * 50 - (N - (N /50) * 50)/30)*30) / 10;/ 注意计算printf(%d, t);return 0;文案大全实用标准文档题 24 :公共钥匙盒#include struct seq int key;int action;int time;int main()int num, order;int i = 0, j = 0;int w = 0, s = 0, c = 0;scanf(%d%d, &num, &order);int keysnum;struc

23、t seq arrorder * 2, temp;for (i = 0; i num; i+)keysi = i + 1;for (i = 0; i order; i+)文案大全实用标准文档scanf(%d%d%d, &w, &s, &c);arr2 * i.key = w;arr2 * i.action = 0;arr2 * i.time = s;arr2 * i + 1.key = w;arr2 * i + 1.action = 1;arr2 * i + 1.time = s + c;for (i = 0; i order * 2; i+)for (j = i + 1; j arrj.ti

24、me)temp = arri;arri = arrj;arr j = temp;else if (arri.time = arrj.time)if (arri.action = 0 & arrj.action = 1)文案大全实用标准文档temp = arri;arri = arrj;arr j = temp;else if (arri.action = arrj.action & arri.key arrj.key)temp = arri;arri = arrj;arr j = temp;for (i = 0; i order * 2; i+)if (arri.action = 0)for (j = 0; j num; j+)if (keysj = arri.key)keys j = 0;文案大全实用标准文档break;elsefor (j = 0; j num; j+)if (keysj = 0)keys j = arri.key;break;for (i = 0; i order * 2;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论