《c语言上机试题》word版

《c语言上机试题》word版

ID:30162718

大小:177.04 KB

页数:117页

时间:2018-12-27

《c语言上机试题》word版_第1页
《c语言上机试题》word版_第2页
《c语言上机试题》word版_第3页
《c语言上机试题》word版_第4页
《c语言上机试题》word版_第5页
资源描述:

《《c语言上机试题》word版》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、一、填空题请补充fun函数,该函数的功能是:判断一个年份是否为闰年。例如,2007年不是闰年,2008是闰年。请勿改动主函数main与其他函数中的任何内容,仅在fun函数的横线上填写所需的若干表达式或语句。注意:部分源程序给出如下。#include#includeintfun(intn){intflag=0;if(n%4==0)if(___1___)flag=1;if(___2___)flag=1;return___3___;}二、改错题下列给定程序中,fun函数的功能是:根据形参n,计算如下公式的值。例如,若输入5,则

2、应输出2.28333。请修改程序中的错误或在横线处填上适当的内容并把横线删除,使它能计算出正确的结果。注意:不要改动main函数,不能增行或删行,也不能更改程序的结构。#include#includedoublefun(intn){doubles=1.0;inti;/******error**********/for(i=2;i<=n;i++)s+=1.0/k;/******error**********/___填空___}三、编程题请编写函数fun,它的功能是:求出1到500之内能被7或11整除,但不能同时被7和11整

3、除的所有整数,并将它们放在b所指的数组中,通过m返回这些数的个数。请勿改动主函数main与其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。注意:部分源程序给出如下。#include#includevoidfun(int*b,int*m){}一、填空题【答案及难度指数】★(1)n%100!=0(2)n%400==0(3)flag【一起来审题】(1)该题中函数功能是判断一个年份是否为闰年。其中,闰年的条件是年数可以被4整除,即为闰年;被100整除而不能被400整除的为平年;被100整除也可被400整除的为

4、闰年。(2)从已给部分源程序的main主函数开始入手,主函数中的"if(fun(year))"判断语句,调用函数fun对年数进行判断。(3)进入fun函数,利用if对年数进行判断。【解题思路】第一空:根据闰年的条件和已有的语句"if(n%4==0)",知道这里的条件应该是能被4整除但要排除被100整除的整数,所以第一空填"n%100!=0"。第二空:被100整除也可被400整除的为闰年,所以第二空填"n%400==0"。第三空:主函数中"if(fun(year))"语句是对函数返回值的判断,所以fun函数应该将对n的判断的flag值返回,第三空填"flag

5、"。【主要考点】if条件语句。二、改错题【答案及难度指数】★★(1)s+=1.0/i;(2)returns;【一起来审题】该题中函数功能是求题干累加公式的值。从已给定源程序的main主函数开始入手,通过"printf("theresultis%lf",fun(n));"语句调用fun函数,求得公式值。【解题思路】(1)第一个标识下,在以i为循环参数的for循环中进行公式累加,每一项为1.0/i,所以"s+=1.0/k;"改为"s+=1.0/i;"。(2)第二个标识下,首先根据题干,将"填空"删除,函数定义为"doublefun(intn)",它

6、有double型的返回值,所以这里返回累加公式的计算结果,即"returns;"。【主要考点】函数功能;函数返回。三、编程题【答案及难度指数】★★★intj,k=0;for(j=2;j<500;j++)//循环条件if((j%7==0

7、

8、j%11==0)&&j%77!=0)//判断是否符合题干要求b[k++]=j;//将结果放入数组b*m=k;//将累加器值赋值给m【一起来审题】(1)该程序的解题思路,可以分解为以下几步:判断是否被7整除→判断或者是否被11整除→并且不被77整除→按要求返回计算结果。(2)从已给部分源程序的main主函数开始入手,核心函数

9、"fun(a,&m);",其中m返回这些数的个数,a传给函数中的参数,存放计算结果的数组b。【解题思路】进入fun函数,根据前面的分析:首先,定义变量k,设置为累计器,计算符合条件的数的个数。然后,通过循环,判断小于500的每一个整数是否符合题干中的要求。其中的判断条件能否被7或者被11整除为j%7==0

10、

11、j%11==0,不能被11和7同时整除为j%77!=0,它们之间的并关系就用&&连接,最后结果即为(j%7==0

12、

13、j%11==0)&&j%77!=0。最后,将符合条件的整数存入数组b中,同时对k进行自加,将k值赋给m,返回结果。【主要考点】数组操作;

14、函数传值;if条件语句;for循环语句。一、填空题请补充函数fun

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。