资源描述:
《c语言上机实训全国计算机等级考试ncre二级c南通100题》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、班级:09级自动化6班学号:200928200姓名:刘杨编程题第1题一、题目要求PROC1.c编写函数fun,函数的功能是:根据以下公式计算s,计算结果作为函数值返回;n通过形参传入。S=1+1/(1+2)+1/(1+2+3)+...+1/(1+2+3+...+n)例如:若n的值为11时,函数的值为1.833333。#include#include#includefloatfun(intn){}main(){intn;floats;printf("pleaseent
2、erN:");scanf("%d",&n);s=fun(n);printf("theresultis:%f",s);}二、算法分析1.主要数据结构for函数计算s的值并通过函数值返回2.算法描述遍历i计算s的值将s的值通过函数值返回三、实现代码floatfun(intn){inti;floats=0.0,a=0.0;for(i=1;i<=n;i++){a=a+i;s=s+1/a;}returns;}四.调试中遇到的主要问题及解决方法1、问题:调试输入11时结果为1.000000。经查在定义时将a定义为整型,导致结果出错,
3、解决方法:将其改为float型即可。第2题一、题目要求PROC2.c请编一个函数floatfun(doubleh),函数的功能是对变量h中的值保留2位小数,并对第三位进行四舍五入(规定h中的值为正数)。例如:若h值为8.32433,则函数返回8.32;若h值为8.32533,则函数返回8.33。#include#includefloatfun(floath){}main(){floata;printf("Entera:");scanf("%f",&a);printf("Theorigina
4、ldatais:");printf("%f",a);printf("Theresult:%f",fun(a));}二、算法分析算法描述遍历fun函数,计算并返回保留2位小数,并对第三位进行四舍五入的变量h的值三、实现代码floatfun(floath){return(int)(h*100+0.5)/100.0;}四.调试中遇到的主要问题及解决方法1、问题:编程时将(h*100+0.5)除以100,导致调试出错解决方法:将100改为100.0第3题一、题目要求PROC5.c请编写函数fun,它的功能是计算下列级数和
5、,和值由函数值返回。S=1+x+x*x/2!+x*x*x/3!+...+x*x*x...*x/n!例如,当n:10,x=O.3时,函数值为1.349859。#include#include#includedoublefun(doublex,intn){}main(){26班级:09级自动化6班学号:200928200姓名:刘杨printf("%f",fun(0.3,10));}二、算法分析1、主要数据结构for函数计算所求级数的和并通过函数值返回2、算法描述遍历fun函
6、数计算分子与分母的值,计算级数的和值将和值通过函数值返回三、实现代码doublefun(doublex,intn){inti,a=1;doubleb=1,s=1;for(i=1;i<=n;i++){a=a*i;b=b*x;s=s+b/a;}returns;}四.调试中遇到的主要问题及解决方法1、问题:,因将s和b定义为整型,导致调试结果为1.000000,解决方法:将s和b改为double型第4题一、题目要求PROC7.c请编写函数fun,其功能是:将两个两位数的正整数a、b合并形成一个整数放在c中。合并的方式是:将a数的十
7、位和个位数依次放在c数的千位和十位上,b数的十位和个位数依次放在c数的百位和个位上。例如,当a=45,b=12,调用该函数后,c=4152。#include#includevoidfun(inta,intb,long*c){}main(){inta,b;longc;printf("inputa,b:");scanf("%d%d",&a,&b);fun(a,b,&c);printf("theresultis:%d",c);}二、算法分析计算出a、b十位与个位上的值将a数的十位和个位数依次
8、放在c数的千位和十位上,b数的十位和个位数依次放在c数的百位和个位上。三、实现代码voidfun(inta,intb,long*c){intx,y,m,n;x=a/10;y=a%10;m=b/10;n=b%10;*c=x*1000+m*100+y*10+n;}四.调试中遇到的主要问题及解决