res-转载-2012春学期语言上机练习参考答案

上传人:洞*** IP属地:北京 文档编号:230284289 上传时间:2022-11-30 格式:DOCX 页数:69 大小:109.22KB
收藏 版权申诉 举报
res-转载-2012春学期语言上机练习参考答案_第1页
第1页 / 共69页
res-转载-2012春学期语言上机练习参考答案_第2页
第2页 / 共69页
res-转载-2012春学期语言上机练习参考答案_第3页
第3页 / 共69页
res-转载-2012春学期语言上机练习参考答案_第4页
第4页 / 共69页
res-转载-2012春学期语言上机练习参考答案_第5页
第5页 / 共69页

《res-转载-2012春学期语言上机练习参考答案》

简介:

本资源由会员分享,可在线阅读,更多相关《res-转载-2012春学期语言上机练习参考答案(69页珍藏版)》请在人人文库网上搜索。

第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 计算分段函 20026 2num1 num2数 第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编写程序,在屏幕上显示一个短句"Programming in C is int main(void){printf("ProgramminginCisfun!"); return 0;} 显示图案 (printf()的字符串输出* * * * * * *int main(void){printf("***"***\n" * }220011 求华氏温度 100°F 对应的摄氏温度。 #include#include<stdio.h> int main(void){intcelsius, printf("fahr=%d,celsius=%d\n",fahr,}}20012 150°F 计算公式:C5*F/9-5*32/9,式中:C表示摄氏温度,F表示华氏温度。int main(void){intcelsius,celsius=5*fahr/9-printf("fahr=%d,celsius=%d\n",fahr,celsius); return 0;} 求摄氏温度 26°C 对应的华氏温度摄氏温度,f 表示华氏温度。celsius = 26, fahr = #include#include<stdio.h> int main(void){intcelsius, celsius=26;fahr=fahr=9*celsius/5+printf("celsius=%d,fahr=%d\n",celsius,} 计算三门课程的平均成绩math = 87, eng = 72, comp = 93, average = int main(void){int math, eng, comp, average; math=87;eng=72;comp=93; average=printf("math=%d,eng=%d,comp=%d,average=%d\n",math,eng,comp,}int main(void){printf("整数%d 的个位数字是%d, 十位数字是%d, 百位数字是%d\n", n, digit2,return} x 的值为3x y,并分别以"yx*x"和"x*xy"x y 的9 = 3 *3 * 3 =#include#include<stdio.h> int main(void){printf("%d=%d*%d\n",y,x,x); printf("%d*%d=%d\n",x,x,y); return 0;}20021计算分段函数的值(error02_3)输入一个正整数 repeat (0<repeat<10),做 repeat 次下列运算:输入 x,计算并输出下列分段函数 f(x) 的值(1 位小数)。x 0时,yf(x)1/xx 0时,yf(x0。 f(10.00)=f(0.00)=#include#include<stdio.h> int main(void){intrepeat,ri; double x, scanf("%d",&repeat); for(ri=1;ri<=repeat;ri++){scanf("%lf",if(x!=0)y=1/x; printf("f(%.2f)=%.1f\n",x,}}20023 输入存款金额 moneyyear rate,根据下列公式计算存款到期时的利息 interest(税前),输出时保留 2 位小数。  100030.025 (money=1000,year =3,rate =interest=#include#include<stdio.h> #include<math.h> int main(void){int money, year; doubleinterest,rate;interest=money*pow((1+rate),year)-money; printf("interest = %.2f\n", interest);}20024 xf(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> int main(void){intrepeat,doubledoublex,scanf("%d",&repeat); for(ri = 1; ri <= repeat; ri++){if(x>=0)  y=else y = pow((x+1),2)+2*x+1.0/x; printf("f(%.2f) = %.2f\n", x, y);}}20026 2num1 num2printf("%d%d%d\n",num1,num2, 5 5+3=85-3=25*3=5/3=15%3=2#include#include<stdio.h> int main(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 = int main(void){inti,sum; } 求 0+1+2+. (计算 (计算 sum = sum = sum = int main(void){inti,m,sum; for(ri=1;ri<=ri++){scanf("%d", &m); sum=0; }} 求 2mn(m<=n),1/m1/(m+1)1/(m+2) 5 10 1 sum sum sum int main(void){int i, m, n; double sum;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 = int main(void){intflag,i,n,t; intrepeat,doubleitem,for(ri=1;ri<=ri++){scanf("%d",&n); }}int main(void){intflag,i,n,t; intrepeat,ri;doubleitem,for(ri=1;ri<=ri++){scanf("%d",&n); {}}} xn不允许调用 pow 函数求幂。222 int main(void){inti,int repeat, 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> int main(void){inti,doublescanf("%d", &n); for(i=0;i<=n;i++) }} sum= #include #include <stdio.h> #include<math.h> int main(void){int } 计算物体自由下落的距离int main(void){doubleheight=0.5*10*3*   } 求 编写程序,输入一个正整数n,求 的前n项之和,输出 sum= sum= int main(void){inti,double sum;for(ri=1;ri<=ri++){scanf("%d",}}} 阶梯电价留 2 位小数。 cost = cost = int main(void){int repeat, ri; doublecost,for(ri=1; ri<=ri++){ scanf("%lf", &e); }}420025计算分段函数的值(error02_4) xf(x) 1位小数。当 x 10 时,y = f(x) = x,当 x 10 时,y = f(x) = 1/x。 f(10.0)=f(234.0)=#include#include<stdio.h> int main(void){intrepeat,ri; double x, for(ri=1;ri<=repeat; printf("f(%.1f)=%.1f\n",x,}}20027 计算旅途时间。输入 2 个整数 time1 time2,表示火车的出发时间和到达时间,计算并输出旅途时间。Thetrainjourneytimeis6hours59#include#include<stdio.h> int main(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> int main(void)#include<stdio.h> int main(void){inttime1,time2,hour,int th1,th2,tm1,tm2; // printf(“\n”)也能通过? scanf("%d%d", &time1, &time2);}}printf("Thetrainjourneytimeis%dhours%dminutes.\n",hour,minutes); return 0;}20028 #include#include<stdio.h> int main(void){intnumber,digit1,digit2,digit3,digit4, /*取个位+910取余,然后变成百位(个位与百位交换) /*取百位+910取余,变成个位,百位和个位上的数字互换*/ /*取千位+910printf("Theencryptednumberis%d\n",newnum); return 0;}#include<stdio.h> int main(void){#include<stdio.h> int main(void){intdigit1,digit2,digit3,digit4,newnum,number;  /* 个位 */ /* 十位 */ 百位 */ /* 千位 */ printf("Theencryptednumberis%d\n",newnum); return 0;} 求1+1/3+1/5 的前n项n,11/31/5n出时保留 6 位小数。 (计算 sum= sum= #include#includeintint{inti,int repeat, ri; double sum;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 fahr int main(void){int repeat, 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 = int main(void){intm,double s;double fact(int n); for(ri=1; ri<=ri++){ scanf("%d%d", &m, printf("result = %.0f\n", s);}} {return result;} 求 m 和 n(m<=n),求 sum = 312255===int main(void){int i, m, n; double sum;for(ri=1;ri<=repeat;ri++){scanf("%d%d",&m,&n); }} 求 1-2/3+3/5-4/7+5/9-出时保留 3 位小数。 sum = sum = sum = int main(void){intflag,i,int repeat, ri; double item, 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; double sum;for(ri=1;ri<=ri++){scanf("%d",&n); }} n,e0!+1!+2!+……+n!,要求定义和调用函数 fact(n)计算 n!,函数类型是 double。 124sum = sum = sum = int main(void){intint repeat, ri; double sum; for(ri=1;ri<=ri++){scanf("%d",i); sum=sum+fact(i);} }} {int j; }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(-50000010241 3ab0,c0,方程不成立 x = -2.00x1 = -x2 = -x1=-1.00+1.41i x2=-1.00-#include #include <stdio.h> #include<math.h> int main(void){int repeat, 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> int main(void){int repeat, ri; doubleint repeat, 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)int main(void){intrepeat,intintx,for(ri=1;ri<=ri++){scanf("%d",&x); if(x==0) y=0;elseif(x>0)y=1; else y=-1;}} 显示五级记分制成绩所对应的百分制成绩区间(使 repeat(0<repeat<10repeat和 E(0-59),如果输入不正确的成绩,显示"Invalid input"。printf("90-printf("80-printf("70-printf("60-printf("Invalid 字符 j)90-80-70-60-0-Invalidinput int main(void){charintrepeat,for(ri = 1; ri <= repeat; ri++){for(ri = 1; ri <= repeat; ri++){ch=getchar(); }}return} 显示水果的价格(使用 55输入其他编号,显示价格为 0。 price = [0] int main(void){int choice, i; for(i = 1; i <= 5; i++){printf("[1] printf("[0] Exit\n"); if(choice == 0)case 1:casecasecase 4: }price=3.00;  }}}30007  repeat(0<repeat<10repeat输入三角形的 3a,b,c,如果能构成一个三角形,输出面积 area 和周长 perimeter(2Thesesidesdonotcorrespondtoa valid triangle"。在一个三角形中,任意两边之和大于第三边。三角形面积计算公式:area (s(s-a)(s-b)(s-c))^0.5 ,其中 s = (a+b+c)/2printf("area= %.2f, perimeter = %.2f\n",area, printf("Thesesides do not correspond to a valid 255 14 area = 7.15, perimeter = These sides do not correspond to a valid #include #include <stdio.h> #include<math.h> int main(void){int a, 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 = =====int main(){intri,doublerate,salary,scanf("%d", &repeat); {scanf("%lf",&salary); if (salary<=850) }else if{ rate=0.05; }else if{ rate=0.10; }else if{ rate=0.15; }{ rate=0.20; }printf("tax=%0.2f\n",}}} 统计学生成绩成绩等级分为五级,分别为 A(90-100)、B(80-89)、C(70-79)、D(60-69)和 77 54 92 73 NumberofA(90-100):1 Number of B(80-89): 0 Number of C(70-79): 2 Number of D(60-69): 1 Number of E(0-59): 1int main(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++; else ne++;}printf("Number of B(80-89): %d\n", nb); printf("Number of C(70-79): %d\n", nc); printf("Number of D(60-69): %d\n",nd); printf("Number of E(0-59): %d\n", ne); return 0;} 分段计算水费(使用嵌套的 if-else 语句y(x(数)。要求用嵌套的 if-else 语句。 y = f(x) = 2.5x- - (x=- f(-0.50) = f(9.50) = f(21.30) = int main(void){double x, y;scanf("%d", &repeat); for(ri=1;ri<=repeat;ri++){ else y=2.5*x-10.5; printf("f(%.2f) = %.2f\n", x, y);}} 出租车计费repeat(0<repeat<10repeat1.6 2 6 11.8 2 30 cost = cost = cost = int main(void){int repeat, intminutes,seconds; double cost, mile;scanf("%d", &repeat); for(ri=1;ri<=repeat;ri++){scanf("%lf%d%d",&mile,&minutes, else if(mile<=10) printf("cost = %.0f\n", }30062 21400int main(void){int for(year = 2000; year <= 2099; year++){ if((year%4==0 && }6 求最小公倍数和最大公约数(调试示例 repeat(0<repeat<10),repeat输入两个正整数 m 和 n,输出它们的最小公倍数和最大公约数。 3 24 24 21istheleastcommonmultipleof3and7,1isthegreatestcommondivisor of 3 and 7.24istheleastcommonmultipleof24and4,4isthegreatestcommon divisor of 24 and 4.72istheleastcommonmultipleof24and18,6isthegreatestcommon divisor of 24 and 18.int main(void){intgcd,lcm,m,n,c; int repeat, ri;scanf("%d", &repeat); for(ri=1;ri<=repeat;ri++){for(lcm=1;} lcmprintf("%d is the least common multiple of %d and %d, %d is the greatest common divisor of %d and %d.\n", lcm, m, n, gcd, m, n);}return}int main(void){intgcd,lcm,m,intintrepeat,scanf("%d",for(ri=1;ri<=repeat;{scanf("%d",scanf("%d",if(m<=n) c=m; else c=n;for(gcd=c;;gcd--)}lcm= printf("%distheleastcommonmultipleof%dand%d,%disgreatestcommon divisorof%dand%d.\n",lcm,m,n,gcd,m,}return} eps(保留 6 位小数)。请使用 while 语句实现循环。2E- (eps=2E- sum= sum= #include #include <stdio.h> #include<math.h> int main(void){intdenominator,flag; int repeat, ri;doubleeps,item,for(ri=1;ri<=repeat;} }return} 求整数的位数repeat(0<repeat<10repeat - (in=-- (in=- count = count = count = count = int main(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 = int main(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 = int main(void){intcount,fen1,fen2,fen5,money; int repeat, 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, int main(void){inti,digit,m,n,a,b,c,sum; int repeat, ri;for(ri=1;ri<=repeat;ri++){scanf("%d%d", &m,&n); }}return}int main(void){inti,digit,m,n,number,sum; int repeat, 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 + int main(void){intfactor,m,n,number,sum; int repeat, 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 - 89 100 (m=90, 90=7+83 92=3+89 94=5+89 96=7+89 #include "math.h" int main(void){int count, i, j, k, m, n, scanf("%d%d", &m, &n); if(m%2!=0)m=m+1; if(m >= 6){ }}int prime(int m){int i, ifPrime=0; if(m==1) return 0; }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=- 2 3 4 5 6 0 8int main(void){intdigit,in,power,temp,k; int repeat, ri;for(ri=1;ri<=repeat;if(in<0) in=-in;k= {k=k* } /*temp{temp --; k=digit=power/power = power % k; /*power*/ }}return} 求平均成绩并统计不及格人数67 88 73 54 82 8 7 4 3 70 5 6 100 -Gradeaverageis72.80,thenumberoffailis1 Grade average is 25.38,the number of fail is #include #include int int {int fail, num; intrepeat,ri;double grade, 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) = ①int sign(int x);int{intx,intrepeat,for(ri=1;ri<=ri++){}}intsign(int{int t=0; else if(x==0) return} 使用函数求奇数0,函数形参 n 的类型是 int,函数类型是 int。 12 9 6 17 2 10 19 -Thesumoftheoddnumbersis30. Thesum of the odd numbers is int even(int n);int{int n, sum; int n, 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) return t;}50005 repeat(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" int main(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)return result;} 使用函数统计一个整数中数字的个数repeat(0<repeat<10repeat数字 digit 的个数。digitnumberdigitint,函数类型是 int。例如,countdigit(10090,0)的返回值是 3。22(number=21252, -9(number=-1111, Number 21252 of digit 2: (21252 中有3int main(void){intint main(void){intcount,digit,in; int repeat, ri;for(ri=1;ri<=repeat;ri++){scanf("%d%d",&in,&digit); printf("Number%dofdigit%d:%d\n",in,digit,}}  {intdoif(t==digit) c++;return c;}/* // while 0050007 使用函数找水仙花数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 int main(void){int i, 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> double fact(int n); int main(void){int i, 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#include doublefuncos(doublee,doublex); int main(void){int repeat, 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{int flag,n; /* tn*/ }return}求 funcos(e,x)方法 doublefuncos(doublee,double{int flag=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) = int main(void){inta,b,maximum; int repeat, ri;intmax(inta,intfor(ri = 1; ri <= repeat; ri++){ scanf("%d%d",& }}intmax(inta,int{int /* aif (c<b) /*b*/ return c; Fibonacci mn(1<=m,n<=10000),mnFibonacci序列(第一项起):1 1 5 13 21nint,long。例如,fib(7)13。输出使用语句:printf("%ld ", f); 1 (m=1, 20 (m=20, 1000 (m=1000, 1 1 2 3 5 int main(void){int i, m, n; long f;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++) {}}50063 repeat(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=20 1 (m=1, 28 1 6 int main(void){int i, 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!+……301s s s #include <stdio.h> #include <stdio.h> int main(void){intint repeat, ri; double item, s, x; for(rifor(ri=1;ri<=ri++){scanf("%lf",&x); }printf("s=%.2f\n",}} {intdouble product; product = 1; return product;} 使用函数计算两点间的距离输入一个正整数 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); int main(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{double a,b,c; return c;} 数字金字塔 数字金字塔,函数形参 n 的类型是 int,函数类型是 void。printf("printf("%d", (n=5时的数字金字塔2 3 3 4 4 4 5 5 5 5 (n=2时的数字金字塔2 int main(void){intintint repeat, ri; int nRow,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);}}} 使用函数求 程序填空,不要改变与输入输出有关的语句。a n, a+aa+aaa+aa…a(na)之和。要求定义并调用函fn(an),它的功能是返回 aa…a(na)函数形a n 的类型输 2 (a=2,8 (a=8,输 int main(void){inta,i,long sn;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, 是一个累加和*/ long fn(int a, int n){}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); int main(void){intintintrepeat,double eps, sum, item; for(ri=1;r

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

网站客服QQ:2880490353     

copyright@ 2020-2023  renrendoc.com 人人文库版权所有   联系电话:18081923626

备案号:蜀ICP备2022000484号-2       经营许可证: 川B2-20220663       公网安备川公网安备: 51019002004831号

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知人人文库网,我们立即给予删除!