信息学竞赛典型例题程序汇集.doc

上传人:h**** 文档编号:152140 上传时间:2018-07-11 格式:DOC 页数:53 大小:666.94KB
下载 相关 举报
信息学竞赛典型例题程序汇集.doc_第1页
第1页 / 共53页
信息学竞赛典型例题程序汇集.doc_第2页
第2页 / 共53页
信息学竞赛典型例题程序汇集.doc_第3页
第3页 / 共53页
信息学竞赛典型例题程序汇集.doc_第4页
第4页 / 共53页
信息学竞赛典型例题程序汇集.doc_第5页
第5页 / 共53页
点击查看更多>>
资源描述

1、信息学竞赛复习 1.斐波拉契数列( 1000000 以内的数字) #include “ stdio.h” #include “ stdlib.h” void main() long fib1=1,fib2=1,fib=0; printf(“1000000 以内的数字 :nn“); printf(“%dn%dn“,fib1,fib2); while (fib0) current+; while(currentlen) current-=len; if(acurrent=1) m+; if(m=n) acurrent=0; remain-; printf(“%d, “,current); m=0;

2、 system(“pause“); ( 2) 约瑟夫问题 _数组环 #include “stdio.h“ #include “stdlib.h“ void main() int a100; int i,len,n; /i 循环 len 总数 n 每次数几个 int cur,m,remain; /cur 当前是哪个 m 计数 remain 剩下几个 /int t1,t2; for(i=0;i0) cur=acur; m+; if(m=n-1) printf(“%d, “,acur); /t1=acur; /t2=aacur; acur=aacur; remain-; m=0; system(“p

3、ause“); ( 3) 约瑟夫问题 _链表 #include “stdio.h“ #include “stdlib.h“ struct people int num; struct people *next; ; typedef struct people node; node *create(int m) int i; node *h,*p1,*p2; h=p1=p2=(node *)malloc(sizeof(node); h-num=1; for(i=1;inext=p1; p1-num=i+1; p2=p1; p1-next=h; return h; node *findout(no

4、de *tp,int n) int i; node *p; p=tp; for(i=1;inext; return p; node *moveaway(node *tp) node *c,*p1,*p2; c=tp; p1=c-next; p2=p1-next; c-next=p2; printf(“%d, “,p1-num); free(p1); return p2; void main() node *p; int len,i,n; printf(“请输入约瑟夫问题节点总数: “); len=41; /scanf(“%d“, printf(“请输入每次数的节点数字: “); n=3; /s

5、canf(“%d“, p=create(len); for(i=1;inum=1; for(i=1;inext=p1; p1-prior=p2; p1-num=i+1; p2=p1; p1-next=h; h-prior=p1; return h; node *findout(node *tp,int n) int i; node *p; p=tp; for(i=1;inext; return p; node *moveaway(node *tp) node *c,*p1,*p2; c=tp; p1=c-prior; p2=c-next; p1-next=p2; p2-prior=p1; pr

6、intf(“%d, “,c-num); free(c); return p2; void main() node *p; int len,i,n; printf(“请输入约瑟夫问题节点总数: “); len=41;/scanf(“%d“, printf(“请输入每次数的节点数字: “); n=3;/scanf(“%d“, p=create(len); for(i=1;i #include void main() int sum=0;/统计个数 int b;/起数 int a6; int have7; int j; int tempb; for(b=10000;b0 sum+; printf(“

7、sum=%dn“,sum); system(“pause“); ( 2)统计含有 2 个数字 7,但不能被 7 整除的 5 位整数的个数 #include #include void main() int sum=0;/统计个数 int b;/起数 int a6; int have7; int j; int tempb; for(b=10000;b #include void main() int i,j,k; for(i=1;i #include void main() int i,j,k; for(i=1;i void main() int sum=0; int a,b,c,d; int i,j,ir,jr,m,n; int arr5; int flag; for(i=10;i void main() int sum=0; int a,b,c,d,e,f; int i,j,ir,jr,m,n; int arr7; int flag; for(i=100;i void main()

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育教学资料库 > 参考答案

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。