res-转载-2012春学期语言上机练习参考答案_第1页
res-转载-2012春学期语言上机练习参考答案_第2页
res-转载-2012春学期语言上机练习参考答案_第3页
res-转载-2012春学期语言上机练习参考答案_第4页
res-转载-2012春学期语言上机练习参考答案_第5页
免费预览已结束,剩余64页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第1周(1-4题略 显示"ProgramminginCis 显示图案(复习printf()的字符串输出 第2 20011求华氏温度100°F对应的摄氏温度 20012求华氏温度150°F对应的摄氏温度 求摄氏温度26°C对应的华氏温 计算三门课程的平均成 20015当n为152时,分别求出n的个位数字(digit1)、十位数字(digit2)和百位数字(digit3)的值 20016计算x的平方(改错题 20021计算分段函数的值(调试示例 20023计算存款利 20024计算分段函 200262num1num2数 第3 求1+2+3+......+100(调试示例 求 求 求1-1/4+1/7-1/10+……的前n项之 求x的n次 生成3的乘方 求 计算物体自由下落的距 求 阶梯电 第4 20025计算分段函数的值(改错题 20027计算旅途时间 20028数字加 求1+1/3+1/5+......的前n项 输出华氏-摄氏温度转换表(改错题 使用函数求n!/(m!*(n- 求1-2/3+3/5-4/7+5/9- 求 求 第5 求一元二次方程的 求分段函数的 显示五级记分制成绩所对应的百分制成绩区间(使 显示水果的价格(使用 求三角形的面积和周 计算个人所得 统计学生成 分段计算水费(使用嵌套的if-else语句 出租车计 30062输出21世纪所有闰 第6 求最小公倍数和最大公约数(调试示例 求 求整数的位 求 换硬 找出各位数字的立方和等于它本身的 找完数(改错题 验证歌德巴赫猜想(选作 从高位开始逐位输出一个整数的各位数字(选作 求平均成绩并统计不及格人 第7 使用函数判断数的符 使用函数求奇数 使用函数统计素数并求 使用函数统计一个整数中数字的个 使用函数找水仙花 使用函数求1!+2!+…+m!(改错题 使用函数求余弦函数的近似 使用函数找最大 使用函数输出指定范围内的Fibonacci 使用函数找出指定范围内的完 第8 求x+x*x/2!+x*x*x/3!+x*x*x*x/4!+……的 使用函数计算两点间的距 50051数字金字 使用函数求 使用函数求PI(调试示例源程序 整数的十进制、八进制和十六进制表现形 分类统计字 使用函数输出整数的逆序 统计单 简单计算 1周(1-4题略 显示"ProgramminginCis编写程序,在屏幕上显示一个短句"ProgramminginCisintmain(void){printf("ProgramminginCisfun!");return0;} 显示图案(printf()的字符串输出*******intmain(void){printf("***"***\n" * }220011求华氏温度100°F对应的摄氏温度。#include#include<stdio.h>intmain(void){intcelsius, printf("fahr=%d,celsius=%d\n",fahr,}}20012150°F计算公式:C5*F/9-5*32/9,式中:C表示摄氏温度,F表示华氏温度。intmain(void){intcelsius,celsius=5*fahr/9-printf("fahr=%d,celsius=%d\n",fahr,celsius);return0;} 求摄氏温度26°C对应的华氏温度摄氏温度,f表示华氏温度。celsius=26,fahr=#include#include<stdio.h>intmain(void){intcelsius, celsius=26;fahr=fahr=9*celsius/5+printf("celsius=%d,fahr=%d\n",celsius,} 计算三门课程的平均成绩math=87,eng=72,comp=93,average=intmain(void){intmath,eng,comp,average;math=87;eng=72;comp=93; average=printf("math=%d,eng=%d,comp=%d,average=%d\n",math,eng,comp,}intmain(void){printf("整数%d的个位数字是%d,十位数字是%d,百位数字是%d\n",n,digit2,return}x的值为3xy,并分别以"yx*x"和"x*xy"xy的9=3*3*3=#include#include<stdio.h>intmain(void){printf("%d=%d*%d\n",y,x,x);printf("%d*%d=%d\n",x,x,y);return0;}20021计算分段函数的值(error02_3)输入一个正整数repeat(0<repeat<10),做repeat次下列运算:输入x,计算并输出下列分段函数f(x)的值(1位小数)。x0时,yf(x)1/xx0时,yf(x0。 f(10.00)=f(0.00)=#include#include<stdio.h>intmain(void){intrepeat,ri;doublex,scanf("%d",&repeat);for(ri=1;ri<=repeat;ri++){scanf("%lf",if(x!=0)y=1/x; printf("f(%.2f)=%.1f\n",x,}}20023输入存款金额moneyyearrate,根据下列公式计算存款到期时的利息interest(税前),输出时保留2位小数。100030.025(money=1000,year=3,rate=interest=#include#include<stdio.h>#include<math.h>intmain(void){intmoney,year;doubleinterest,rate;interest=money*pow((1+rate),year)-money;printf("interest=%.2f\n",interest);}20024xf(x)的值(2位小数)sqrt函数求平方根,调用pow函数求幂。x0时,f(xx^0.5x0时,f(xx+1)^22x1/x。-0f(10.00)=f(-0.50)=-f(0.00)=#include#include<stdio.h>#include<math.h>intmain(void){intrepeat,doubledoublex,scanf("%d",&repeat);for(ri=1;ri<=repeat;ri++){if(x>=0)y=elsey=pow((x+1),2)+2*x+1.0/x;printf("f(%.2f)=%.2f\n",x,y);}}200262num1num2printf("%d%d%d\n",num1,num2,5 5+3=85-3=25*3=5/3=15%3=2#include#include<stdio.h>intmain(void){int printf("%d+%d=%d\n",num1,num2,num1+num2);printf("%d-%d=%d\n",num1,num2,num1-num2);printf("%d*%d=%d\n",num1,num2,num1*num2);printf("%d/%d=%d\n",num1,num2,num1/num2);printf("%d%%%d=%d\n",num1,num2,num1%num2);return}3 求1+2+3100(调试示例123100sum=intmain(void){inti,sum;} 求 0+1+2+. (计算 (计算 sum=sum=sum=intmain(void){inti,m,sum;for(ri=1;ri<=ri++){scanf("%d",&m);sum=0; }} 求 2mn(m<=n),1/m1/(m+1)1/(m+2) 5101sumsumsumintmain(void){inti,m,n;doublesum;for(ri=1;ri<=ri++){&m,&n);sum=0;for(i=m;i<=n;i++)}} 求1-1/4+1/7-1/10+……的前n项之n1-1/4+1/7-1/10n留3位小数。 3sum=sum=intmain(void){intflag,i,n,t;intrepeat,doubleitem,for(ri=1;ri<=ri++){scanf("%d",&n); }}intmain(void){intflag,i,n,t;intrepeat,ri;doubleitem,for(ri=1;ri<=ri++){scanf("%d",&n);{}}} xn不允许调用pow函数求幂。222intmain(void){inti,intrepeat,ri;for(ri=1;ri<=ri++){scanf("%lf%d",&x,&n);mypow=1; printf("%.2f\n",}} 3计算3的乘方。printf("pow(3,%d)%.0f\n",i, =1=3=9=#include#include<stdio.h>#include<math.h>intmain(void){inti,doublescanf("%d",&n);for(i=0;i<=n;i++)}} sum=#include#include<stdio.h>#include<math.h>intmain(void){int } 计算物体自由下落的距离intmain(void){doubleheight=0.5*10*3* } 求 编写程序,输入一个正整数n,求 的前n项之和,输出 sum=sum=intmain(void){inti,doublesum;for(ri=1;ri<=ri++){scanf("%d",}}} 阶梯电价留2位小数。 cost=cost=intmain(void){intrepeat,ri;doublecost,for(ri=1;ri<=ri++){scanf("%lf",&e); }}420025计算分段函数的值(error02_4)xf(x)1位小数。当x10时,y=f(x)=x,当x10时,y=f(x)=1/x。 f(10.0)=f(234.0)=#include#include<stdio.h>intmain(void){intrepeat,ri;doublex,for(ri=1;ri<=repeat; printf("f(%.1f)=%.1f\n",x,}}20027计算旅途时间。输入2个整数time1time2,表示火车的出发时间和到达时间,计算并输出旅途时间。Thetrainjourneytimeis6hours59#include#include<stdio.h>intmain(void){inttime1,time2,hour,minutes,t1,t2,result;scanf("%d%d",&time1,&time2);t1=(time1/100)*60+time1%100; /*minutes*/t2=(time2/100)*60+time2%100;result=t2-hour=result/60;minuteshour=result/60;minutes=result%60;printf("Thetrainjourneytimeis%dhours%dminutes.\n",hour,}#include<stdio.h>intmain(void)#include<stdio.h>intmain(void){inttime1,time2,hour,intth1,th2,tm1,tm2; //printf(“\n”)也能通过?scanf("%d%d",&time1,&time2);}}printf("Thetrainjourneytimeis%dhours%dminutes.\n",hour,minutes);return0;}20028#include#include<stdio.h>intmain(void){intnumber,digit1,digit2,digit3,digit4, /*取个位+910取余,然后变成百位(个位与百位交换)/*取百位+910取余,变成个位,百位和个位上的数字互换*//*取千位+910printf("Theencryptednumberis%d\n",newnum);return0;}#include<stdio.h>intmain(void){#include<stdio.h>intmain(void){intdigit1,digit2,digit3,digit4,newnum,number; /*个位*/ /*十位*/ 百位*/ /*千位*/printf("Theencryptednumberis%d\n",newnum);return0;} 求1+1/3+1/5 的前n项n,11/31/5n出时保留6位小数。 (计算 sum=sum=#include#includeintint{inti,intrepeat,ri;doublesum;for(ri=1;ri<=ri++){scanf("%d",for(i=1;i<=n;i++){}}} 输出华氏-摄氏温度转换表(改错题取值范围是[lower,upper],每次增加2F。计算公式:c5*(f32)9,其中:c,f输出请使用语句printf("%3.0f%6.1f\n",fahr,celsius); 32 40 fahr fahrintmain(void){intrepeat,ri;doublecelsius,for(ri=1;ri<=&upper);printf("fahr{celsius=5*(fahr-32)/9; }} nm!*n-2m和n(m<=n),计算n!/(m!*(n-m)!)。是double。2 (m=2,5 (m=5,result=result=intmain(void){intm,doubles;doublefact(intn);for(ri=1;ri<=ri++){scanf("%d%d",&m,printf("result=%.0f\n",s);}}{returnresult;} 求 m和n(m<=n),求sum=312255===intmain(void){inti,m,n;doublesum;for(ri=1;ri<=repeat;ri++){scanf("%d%d",&m,&n); }} 求1-2/3+3/5-4/7+5/9-出时保留3位小数。 sum=sum=sum=intmain(void){intflag,i,intrepeat,ri;doubleitem,sum;for(ri=1;ri<=ri++){scanf("%d",&n);for(i=1;i<=n;{item=flag*i*1.0/denominator;} }} #include#include<stdio.h>int{{intintrepeat,ri;doublesum;for(ri=1;ri<=ri++){scanf("%d",&n); }} n,e0!+1!+2!+……+n!,要求定义和调用函数fact(n)计算n!,函数类型是double。 124sum=sum=sum=intmain(void){intintrepeat,ri;doublesum;for(ri=1;ri<=ri++){scanf("%d",i);sum=sum+fact(i);} }}{intj;}5 求一元二次方程的根printf("x=%0.2f\n",-c/b);printf("x1=%0.2f\n",(-printf("x2=%0.2f\n",(-b-printf("x1=%0.2f+%0.2fi\n",-b/(2*a),sqrt(-printf("x2=%0.2f-%0.2fi\n",-b/(2*a),sqrt(-500000102413ab0,c0,方程不成立x=-2.00x1=-x2=-x1=-1.00+1.41ix2=-1.00-#include#include<stdio.h>#include<math.h>intmain(void){intrepeat,ri;doublea,b,c,d;for(ri=1;ri<=ri++){scanf("%lf%lf%lf",&a,&b,&c);d=b*b-4*a*c;if(c==0)printf("参数都为零,方程无意义}elseprintf("x=%0.2f\n",-}printf("x1=%0.2f\n",(-}}}}}参考#include#include<stdio.h>#include<math.h>intmain(void){intrepeat,ri;doubleintrepeat,ri;doublea,b,c,d;for(ri=1;ri<=ri++){scanf("%lf%lf%lf",&a,&b,&c);d=b*b-4*a*c; printf("参数都为零,方程无意义!\n"); printf("x=%0.2f\n",-c/b);printf("x1=%0.2f\n",(-}}}} 求分段函数的值repeat(0<repeat<10),repeat输入一个整数x,计算并输出下列分段函数sign(x)的值。- x<y=sign(x)= x= x> - (x=-sign(10)=1 (x=10时y=1)sign(0)=0 (x=0时y=0)sign(-98)=-1 (x=-98时y=-1)intmain(void){intrepeat,intintx,for(ri=1;ri<=ri++){scanf("%d",&x);if(x==0)y=0;elseif(x>0)y=1;elsey=-1;}} 显示五级记分制成绩所对应的百分制成绩区间(使 repeat(0<repeat<10repeat和E(0-59),如果输入不正确的成绩,显示"Invalidinput"。printf("90-printf("80-printf("70-printf("60-printf("Invalid 字符j)90-80-70-60-0-Invalidinputintmain(void){charintrepeat,for(ri=1;ri<=repeat;ri++){for(ri=1;ri<=repeat;ri++){ch=getchar();}}return} 显示水果的价格(使用55输入其他编号,显示价格为0。 price=[0]intmain(void){intchoice,i;for(i=1;i<=5;i++){printf("[1]printf("[0]Exit\n");if(choice==0)case1:casecasecase4:}price=3.00;}}}30007repeat(0<repeat<10repeat输入三角形的3a,b,c,如果能构成一个三角形,输出面积area和周长perimeter(2Thesesidesdonotcorrespondtoavalidtriangle"。在一个三角形中,任意两边之和大于第三边。三角形面积计算公式:area(s(s-a)(s-b)(s-c))^0.5,其中s=(a+b+c)/2printf("area=%.2f,perimeter=%.2f\n",area,printf("Thesesidesdonotcorrespondtoavalid25514area=7.15,perimeter=Thesesidesdonotcorrespondtoavalid#include#include<stdio.h>#include<math.h>intmain(void){inta,b,c;for(ri=1;ri<=ri++){scanf("%d%d%d",&a,&b,if((a+b>c)&&(a+c>b)&&area=sqrt(s*(s-a)*(s-b)*(s-printf("area=%.2f,perimeter=%.2f\n",area,}elseprintf("Thesesidesdonotcorrespondtoavalid}} 计算个人所得税repeat(0<repeat<10repeat计算公式:tax=rate*(salary-850)当salary≤850时,rate=当850<salary≤1350时,rate=当salary≤2850,rate当salary5850,rate当<salary时,rate= =====intmain(){intri,doublerate,salary,scanf("%d",&repeat);{scanf("%lf",&salary);if(salary<=850) }elseif{rate=0.05;}elseif{rate=0.10;}elseif{rate=0.15;}{rate=0.20;}printf("tax=%0.2f\n",}}} 统计学生成绩成绩等级分为五级,分别为A(90-100)、B(80-89)、C(70-79)、D(60-69)和 77549273NumberofA(90-100):1NumberofB(80-89):0NumberofC(70-79):2NumberofD(60-69):1NumberofE(0-59):1intmain(void){intmark,n,intfor(i=1;i<=n;i++){ if(mark>=90&&mark<=100)elseif(mark>=80&&mark<=89)nb++;elseif(mark>=70&&mark<=79)nc++;elseif(mark>=60&&mark<=69)nd++;elsene++;}printf("NumberofB(80-89):%d\n",nb);printf("NumberofC(70-79):%d\n",nc);printf("NumberofD(60-69):%d\n",nd);printf("NumberofE(0-59):%d\n",ne);return0;} 分段计算水费(使用嵌套的if-else语句y(x(数)。要求用嵌套的if-else语句。 y=f(x)= 2.5x- - (x=- f(-0.50)=f(9.50)=f(21.30)=intmain(void){doublex,y;scanf("%d",&repeat);for(ri=1;ri<=repeat;ri++){ elsey=2.5*x-10.5;printf("f(%.2f)=%.2f\n",x,y);}} 出租车计费repeat(0<repeat<10repeat1.62 6 11.8230 cost=cost=cost=intmain(void){intrepeat,intminutes,seconds;doublecost,mile;scanf("%d",&repeat);for(ri=1;ri<=repeat;ri++){scanf("%lf%d%d",&mile,&minutes, elseif(mile<=10) printf("cost=%.0f\n",}3006221400intmain(void){intfor(year=2000;year<=2099;year++){if((year%4==0&&}6 求最小公倍数和最大公约数(调试示例repeat(0<repeat<10),repeat输入两个正整数m和n,输出它们的最小公倍数和最大公约数。 3 24 24 21istheleastcommonmultipleof3and7,1isthegreatestcommondivisorof3and7.24istheleastcommonmultipleof24and4,4isthegreatestcommondivisorof24and4.72istheleastcommonmultipleof24and18,6main(void){intgcd,lcm,m,n,c;intrepeat,ri;scanf("%d",&repeat);for(ri=1;ri<=repeat;ri++){for(lcm=1;} lcmprintf("%distheleastcommonmultipleof%dand%d,%disthegreatestcommondivisorof%dand%d.\n",lcm,m,n,gcd,m,n);}return}intmain(void){intgcd,lcm,m,intintrepeat,scanf("%d",for(ri=1;ri<=repeat;{scanf("%d",scanf("%d",if(m<=n)c=m; elsec=n;for(gcd=c;;gcd--)}lcm=printf("%distheleastcommonmultipleof%dand%d,%disgreatestcommondivisorof%dand%d.\n",lcm,m,n,gcd,m,}return} eps(保留6位小数)。请使用while语句实现循环。2E- (eps=2E- sum=sum=#include#include<stdio.h>#include<math.h>intmain(void){intdenominator,flag;intrepeat,ri;doubleeps,item,for(ri=1;ri<=repeat;}}return} 求整数的位数repeat(0<repeat<10repeat - (in=-- (in=- count= count= count= count= intmain(void){intcount,in;for(ri=1;ri<=ri++){scanf("%d",if(in<0)in=-in;}while}return} repeat(0<repeat<10repeat输入一个正整数n,输出2/1+3/2+5/3+8/5n项之和,保留2位小数。(该序列从第2项起,每一项的分子是前一项分子与分母的和,分母是前一 sum sum sum= intmain(void){inti,intrepeat,for(ri=1;ri<=ri++){scanf("%d",sum+=tempdenominator*}}} 换硬币repeat(0<repeat<10repeat将一笔零钱(大8分1精确到分)换521分的硬币。要求:硬币面值按5分、2分、1分顺序,各类硬币数量依次从大到小的顺序,输出使用语句:printf("fen5:%d,fen2:%d,fen1:%d,total:%d\n",fen5,fen2,fen1,fen5+fen2+fen1); count=2 count= intmain(void){intcount,fen1,fen2,fen5,money;intrepeat,ri;for(ri=1;ri<=ri++){scanf("%d",&money);printf("fen5:%d,fen2:%d,fen1:%d,total:%d\n",fen5,fen2,fen1,fen5+fen2+fen1);}return} 找出各位数字的立方和等于它本身的数repeat(0<repeat<10repeatmn(1<=m,n<=1000),mn输出使用语句:printf("%d\n", 100 (m=100,1 (m=1, intmain(void){inti,digit,m,n,a,b,c,sum;intrepeat,ri;for(ri=1;ri<=repeat;ri++){scanf("%d%d",&m,&n);}}return}intmain(void){inti,digit,m,n,number,sum;intrepeat,ri;for(ri=1;ri<=repeat;ri++){scanf("%d%d",&m,&n);}}}} 找完数(改错题repeat(0<repeat<10repeatmn(1<=m,n<=1000),mn其中1、2、3为因子,6为因子和。printf("%d=1",printf("+%d",factor);1 (m=1,400 (m=400,1=6=1+2+ 28=1+2+4+7+496=1+2+4+8+16+31+62+124+intmain(void){intfactor,m,n,number,sum;intrepeat,ri;for(ri=1;ri<=repeat;ri++){scanf("%d%d",&m,&n);for{forif(sum==number){printf("%d=forif(number%factor==0)printf("+%d",factor);}}}} 验证歌德巴赫猜想(选作mn(6<=m,n<=100),mn数之和,打印时一行打印5组。输出使用语句:printf("%d=%d+%d",number,i,number-89100(m=90,90=7+8392=3+8994=5+8996=7+89#include"math.h"intmain(void){intcount,i,j,k,m,n,scanf("%d%d",&m,&n);if(m%2!=0)m=m+1;if(m>=6){ }}intprime(intm){inti,ifPrime=0;if(m==1)return0;}return}int{intcount,i,m,n,if(m%2!=0)m=m+1;if(m>=6){ prime(i)&&prime(number-i){printf("%d=%d+%d",number,i,number-i);count++;}}}}} 从高位开始逐位输出一个整数的各位数字(选作输入一个整数in,从高位开始逐位分割并输出它的各位数字。输出使用语句:printf("%-2d",digit); - (in=- 2345608intmain(void){intdigit,in,power,temp,k;intrepeat,ri;for(ri=1;ri<=repeat;if(in<0)in=-in;k={k=k*} /*temp{temp--;k=digit=power/power=power%k; /*power*/}}return} 求平均成绩并统计不及格人数678873548287437056100-Gradeaverageis72.80,thenumberoffailis1Gradeaverageis25.38,thenumberoffailis#include#includeintint{intfail,num;intrepeat,ri;doublegrade,for(ri=1;ri<=repeat;ri++){scanf("%lf",&grade);if(num>0)printf("Gradeaverageis%.2f,thenumberoffailis%d\n",total/num,fail);}return}7 使用函数判断数的符号repeat(0<repeat<10repeat1x,x0,sign(x)1x0,sign(x)0;否则,sign(x)=-1,最后输出sign(x)的值。类型是int。 - (x=- sign(10)=1 (x=10时sign(x)的值为1)sign(-5)=- sign(0)= ①intsign(intx);int{intx,intrepeat,for(ri=1;ri<=ri++){}}intsign(int{intt=0; elseif(x==0) return} 使用函数求奇数0,函数形参n的类型是int,函数类型是int。 12961721019-Thesumoftheoddnumbersis30.Thesumoftheoddnumbersisinteven(intn);int{intn,sum;intn,sum;for(ri=1;ri<=ri++){sum=0;while(n>0){if(even(n)==0)}printf("Thesumoftheoddnumbersis%d.\n",}}inteven(int{intif(n%2==0) returnt;}50005repeat(0<repeat<10repeat2mn(1<=m,n<=500),mn数以及这些素数的和。素数就是只能被1和自身整除的正整数,1不是素数,2要求定义并调用函数prime(m)m是否为素数,当m素数时返1,否则0,函数形参m的类型是int,函数类型是int。 1 (m=1,Count=4,sum= #include#include"stdio.h"#include"math.h"intmain(void){intcount,i,m,n,intintrepeat,intprime(intfor(ri=1;ri<=ri++){scanf("%d%d",&m,&n);sum=0;if /*1,for(i=m;i<=n;i++){if(}}printf("Count=%d,sum=%d\n",count,}}intprime(int{int if(m==1)returnresult=for(t=2;t<=m/2;t++)if(m%t==0)returnresult;} 使用函数统计一个整数中数字的个数repeat(0<repeat<10repeat数字digit的个数。digitnumberdigitint,函数类型是int。例如,countdigit(10090,0)的返回值是3。22(number=21252,-9(number=-1111,Number21252ofdigit2: (21252中有3intmain(void){intintmain(void){intcount,digit,in;intrepeat,ri;for(ri=1;ri<=repeat;ri++){scanf("%d%d",&in,&digit);printf("Number%dofdigit%d:%d\n",in,digit,}}{intdoif(t==digit)c++;returnc;}/*//while0050007使用函数找水仙花数repeat(0<repeat<10repeat2mn(1<=m,n<=1000),mnis(numbernumber自身,若相等则返回1,否则返回0,函数形参number的类型是int,函数类型是int。输出使用语句:printf("%d\n", 100400(m=100,1 (m=1,result:(100400 result:(1100 intmain(void){inti,m,n;intis(intfor(ri=1;ri<=ri++){scanf("%d%d",&m,&n);for{}}}intis(int{intsum,res,t,j;while{}if(sum!=number) 1!2!+…m!(n!,nint,double。 1!+2!+...+5!=#include#include<stdio.h>doublefact(intn);intmain(void){inti,m;printf("1!+2!+...+%d!=%f\n",m,sum);}{int double (n==0)return1.0;return} 使用函数求余弦函数的近似值repeat(0<repeat<10repeat于e。cos(x)=为double,函数类型是double。20(e=0.001,-(e=0.0001,x=-sum=sum=-#include#includedoublefuncos(doublee,doublex);intmain(void){intrepeat,ri;doublee,sum,x;for(ri=1;ri<=ri++){scanf("%le%le",&e,&x);sum=funcos(e,x);printf("sum=%f\n",sum);}}doublefuncos(doublee,double{intflag,n; /*tn*/}return}求funcos(e,x)方法doublefuncos(doublee,double{intflag=1,n=0;doubledouble /*item*/}returnreturn} 使用函数找最大a、ba、bint,int。 5 (a=5,-1-10(a=-1,b=-1 (a=1,max(5,8)=max(-1,-10)=-max(1,1)=intmain(void){inta,b,maximum;intrepeat,ri;intmax(inta,intfor(ri=1;ri<=repeat;ri++){scanf("%d%d",& }}intmax(inta,int{int /*aif(c<b) /*b*/returnc; Fibonaccimn(1<=m,n<=10000),mnFibonacci序列(第一项起):11 5 1321nint,long。例如,fib(7)13。输出使用语句:printf("%ld",f); 1 (m=1,20 (m=20,1000 (m=1000,11235 intmain(void){inti,m,n;longf;for(ri=1;ri<=repeat;ri++){&m,&n);f=1;i=1;while(f<=n){if(f>=m)printf("%d",f);}}}longfib(int{intlonga=1,b=1,if(n==1||n==2) for(i=3;i<=n;i++){}}50063repeat(0<repeat<10repeat输入两个正整数mn(1<=m,n<=1000),输出mn要求定义并调用函数factorsum(number),它的功能是返number的因子和,函数形参number的类型是整型,函数类型是整型。例如,factorsum(12)的返回值是16(1+2+3+4+6)。输出使用语句:printf("%d 20 (m=201 (m=1,28 16 intmain(void){inti,m,n;for(ri=1;ri<=ri++){scanf("%d%d",&m,&n);printf("%d",i);}}}{{ else{ t<=number-1也对}}return}8 求x+x*x/2!+x*x*x/3!+x*x*x*x/4!+……的输入1个实数x,计算并输出下最后一项的绝对值小于0.00001(保留2位小数)。要求定义和调用函数fact(n)计算n的阶乘,可以调用pow函数sx+x*x/2!+x*x*x/3!+x*x*x*x/4!+……301sss#include<stdio.h>#include<stdio.h>intmain(void){intintrepeat,ri;doubleitem,s,x;for(rifor(ri=1;ri<=ri++){scanf("%lf",&x);}printf("s=%.2f\n",}}{intdoubleproduct;product=1;returnproduct;} 使用函数计算两点间的距离输入一个正整数repeat(0<repeat<10),做repeat次下列运算:(x1,y1)(x2,y2),求这两点之间的距离(2位小数)dist(x1,y1,x2,y2)x1、y1、x2y2的类型都是double,函数类型是double。 10 (x1=10,200 (x2=200,输#include<stdio.h>#include<stdio.h>doubledist(doublex1,doubley1,doublex2,doubley2);intmain(void){intrepeat,doubledoubledistance,x1,y1,x2,for(ri=1;ri<=ri++){scanf("%lf%lf%lf%lf",&x1,&y1,&x2,&y2);distance=dist(x1,y1,x2,y2);printf("Distance=%.2f\n",distance);}}doubledist(doublex1,doubley1,doublex2,double{doublea,b,c;returnc;} 数字金字塔数字金字塔,函数形参n的类型是int,函数类型是void。printf("printf("%d", (n=5时的数字金字塔2334445555 (n=2时的数字金字塔2intmain(void){intintintrepeat,ri;intnRow,nCol;for(ri=1;ri<=ri++){scanf("%d",for(nRow=1;nRow<= {for(nCol=1;nCol<=n-nRow;nCol++) for(nCol=1;nCol<=nRow*2-1;nCol++)printf("%d",nRow);}}} 使用函数求程序填空,不要改变与输入输出有关的语句。an,a+aa+aaa+aa…a(na)之和。要求定义并调用函fn(an),它的功能是返回aa…a(na)函数形an的类型输 2 (a=2,8 (a=8,输 intmain(void){inta,i,longsn;longfn(inta,intfor(ri=1;ri<=repeat;scanf("%ld%d",scanf("%ld%d",&a,&n);printf("%ld\n",}}/*思路:如2222=((2+2*10)*10)+2) *10) +2,是一个累加和*/longfn(inta,intn){}return} 使用函数求PI(调试示例源程序repeat(0<repeat<10),repeat输入精度eps,根据下式求PI的值,直到最后一项小于eps。fact(n)n!,nint,函数类型是函数类型是double。 1E- (eps=1E-1E- (eps=1E-PI=PI=doubledenominator(intn);intmain(void){intintintrepeat,doubleeps,sum,item;for(ri=1;r

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论