浙江师范大学2012年夏C语言参考答案.docVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
浙江师范大学2012年夏C语言参考答案

浙江师范大学《计算机应用(理)—C语言程序设计》考试卷 (2011—2012学年第二学期) 考试类别: 闭卷 使用学生: 公共课理科各专业学生 考试时间: 120 分钟 出卷时间: 2012 年 5 月 15 日 说明:考生应将全部答案标清题号写在答题纸上,否则作无效处理。 程序填空题(每小空2分,共32分) 试题1、以下程序的功能是:从键盘上输入若干学生的成绩,统计并输出最高成绩和最低成绩,当输入负数时结束输入。 #includestdio.h void main () { float x, amax, amin; scanf(“%f”, x); amax=x; amin=x; while( x=0 ) { if ( xamax ) amax=x ; else if (xamin) amin=x ; scanf(%f, x) ; } printf(“\namax=%f\namin=%f\n”, amax, amin); } 试题2、从键盘输入一批以 -1结束的整数,将其中的奇数以”%3d”的格式写入当前目录下的文本文件res.txt。 #include stdio.h #include stdlib.h void main() { int x; FILE *fp ;//注意FILE为大写 if((fp=fopen(res.txt,w))==NULL) { printf(不能打开文件); exit(0); } scanf(%d, x); while( x!=-1 ){ if(x%2!=0) fprintf(fp, “%3d”,x) ; scanf(%d, x) ; } fclose(fp) ; } 可在当前C仿真目录下找到res.txt文件查看结果 试题3、输入100个整数,将其中的前20个数从小到大排序,然后输出这100个数。 # include stdio.h void sort( int a[], int n ) //注意形参是有类型的 { int i, k, m, t; for(i = 0; i n-1; i++){ k=i; for(m=i+1; mn; m++) if( a[i] a[m] ) k=m; t=a[i]; a[i]=a[k]; a[k]=t; } } void main( ) { int k, a[100]; for(k=0; k100; k++) scanf(%d, a[k]); sort(a,20) ;//注意题目是20个 for(k=0; k100; k++) printf(%d , a[k]); } 为了便于实验,在程序中已将100改为10,20改为5。这样程序对于输入超过10个数,只接收10个数,而且对其前面的5个数按从小到大排序。 试题4、验证哥哥德巴赫猜想:任何一个大于6的偶数均可表示为两个素数之和。例如6=3+3,8=3+5,…,18=7+11。将6到100之间的每个偶数都表示成两个素数之和。函数prime(m)用于判断m是否为素数。素数就是只能被1和自身整除的正整数,1不是素数,2是素数。 #include stdio.h #include math.h //因调用了sqrt函数,一般在main函数外面的填空,可能为头文件也可能为函数声明 void main() { int i, k; int prime(int m); for (i=6;i=100;i=i+2) for(k=3;k=50;k++)//此处卷有小错误,请将=改为= if ( prime(k) prime(i-k) ){//下面的输出起到了提示作用 printf (%d = %d+%d\n, i, k, i-k); break; } } int prime(int m) { int k, n; if(m = = 1) return 0; n = (int)sqrt (m); for (k = 2; k = n ;k++) if(m%k==0) return 0 ; //注意为m而不是n if (kn) return 1 ; } 程序阅读题(每小题5

文档评论(0)

youshen + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档