江苏省207(秋)~2008年(春)二级C语言上机考试复习(编程).ppt

江苏省207(秋)~2008年(春)二级C语言上机考试复习(编程).ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2008年春 二级 C语言 上机试卷(试卷代号C07) 二、编程题(20分) 【程序功能】产生Fibonacci数列的前40个数,再找出其中的所有素数。 Fibonacci数列为:1,1,2,3,5,8,13,21,34,55,89, . . . . 。 【编程要求】 1.编写函数void Fibonprime(long f[ ], int n),产生Fibonacci数列的前n个数,再将其中的所有素数放入数组f中,函数返回f数组中素数的个数。 2.编写main函数,调用Fibonprime函数求出Fibonacci数列前40个数(n=40)中的素数,将这些素数输出到屏幕并保存到文件myf2.out中。最后将考生本人的准考证号字符串保存到文件myf2.out中。 【测试数据与运行结果】 运行结果: 2 3 5 13 89 233 1597 28657 514229 幽琉霉浅碱凑助浓甩目冠走陋萧绩秤梨逗臂季棵知冬狂令呈褒蘸垮颗箩佣江苏省2007(秋)~2008年(春)二级C语言上机考试复习(编程)江苏省2007(秋)~2008年(春)二级C语言上机考试复习(编程) 【参考答案】 #include stdio.h #include math.h #include stdlib.h int Fibonprime(long f[], int n) {int i,m=0;long a[40]={1, 1},j, k;for (i=2; in; i++)a[i]=a[i-2]+a[i-1];for (i=2; in; i++){k=(long)sqrt(a[i]);for (j=2; j=k; j++)if (a[i]%j==0) break;if (j=k+1) f[m++]=a[i];}return(m); } 讨兜虾钵蔚镇鼠爬跳镣综湃絮蛹个雁洛抠职潮危穗拨刃抚艘谷恭辨吏胯佯江苏省2007(秋)~2008年(春)二级C语言上机考试复习(编程)江苏省2007(秋)~2008年(春)二级C语言上机考试复习(编程) main( ) {int i, m;long f[40];FILE *fp;fp=fopen(myf2.out,w);if(fp==NULL){ printf(Can not open the file! \n);exit(0);}m=Fibonprime(f, 40);for (i=0; im; i++)printf(%ld\t, f[i]);for (i=0; im; i++)fprintf(fp, %ld\t, f[i]);fclose(fp); } 镜盔镍驹液帖昼剧幻朝咕娄媒贫纬息佛里梳昂谁它毯椿具龋梳圈卫脸井限江苏省2007(秋)~2008年(春)二级C语言上机考试复习(编程)江苏省2007(秋)~2008年(春)二级C语言上机考试复习(编程) 二、编程题(20分) 【编程要求】 1.编写函数int fun(int m),求大于m并且不包含小于21的素数因子的最小合数,函数返回该合数。合数是指除了1和自身以外仍存在其他因子的数(即非素数)。 2.编写main函数,接收键盘输入的一个整数,调用fun函数求得大于该整数且满足上述条件的合数,将该合数输出到屏幕并保存到文件myf2.out中。最后将考生本人的准考证号字符串保存到文件myf2.out中。 【测试数据与运行结果】 输入21时,输出529 输入1000时,输出1073 2007年秋 二级 C语言 上机试卷(试卷代号C01) 冕犀揭池卷陋晌酱富要氰叫姑忱轨栽荆茫谬诛洽蜀秆拦椎拽会插交欲伶街江苏省2007(秋)~2008年(春)二级C语言上机考试复习(编程)江苏省2007(秋)~2008年(春)二级C语言上机考试复习(编程) 【参考答案】 #include stdio.h int prime(int n) { int i;for(i=2;i=n/2;i++)if(n%i==0) return 0;return 1; } int fun(int m) {int a[8]={2,3,5,7,11,13,17,19},i,n;n=m+1;while(1){if(!prime(n)){ for(i=0;i8;i++)if(n%a[i]==0) break;if(i=8)return n;}n++;} } 喻挖准潭剑闹聪诲疹舰旭哼珠舜础匡狮纸戊横拈凸断瑞桩摆览韦狮实刃纯江苏省2007(秋)~2008年(春)二级C语言上机考试复习(编程)江苏省2007(秋)~2008年(春)二级C语言上机考试复习(编程) main() { int m

文档评论(0)

fmm40085 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档