C程序设计 2009春学期 上机练习M2-M8参考答案
第2周(M2) ................................................................................................................................................................2 30004 显示五级记分制成绩所对应的百分制成绩
20011求华氏温度100°F对应的摄氏温度。..............................................................................................................2 区间(使用switch).........................................................................................
20012 求华氏温度 150°F 对应的摄氏温度。 ...........................................................................................................2 30005 显示水果的价格(使用switch) .........................................................
20013求摄氏温度26°C对应的华氏温度。 ...............................................................................................................2 30007 求三角形的面积和周长 ......................................................................20015当n为152时,分别求出n的个位数字(digit1)、
30008 计算个人所得税 ................................................................................
十位数字(digit2)和百位数字(digit3)的值。 ...............................................................................................................2 30051 判断闰年 ..........................................................................................20026 输入2个整数 num1 和 num2,计算并输出它
30052 统计学生平均成绩与及格人数 ............................................................
们的和、差、积、商与余数。.................................................................................................................................2 30053 分段计算水费(使用嵌套的if-else语句) ...........................................
第3周(M3) ................................................................................................................................................................3 第6周(M6) ..........................................................................................................
20031 error02_5) 20032 20033 1/n 20034 20035 项之和 20036 error02_6) 20038 20041 20044 1000^0.5 20053 20056 20061 20062
求1+2+3+......+100(调试示例3
40011 求最小公倍数和最大公约数(调试示例
error04_1) .....................................................................................................
求m+(m+1)+(m+2)+......+100 ........................................................................................................3 40012 求1-1/4+1/7-1/10+1/13-1/16+……............................................. 求1/m+1/(m+1)+1/(m+2)+......+3
40014 求整数的位数....................................................................................
40023 换硬币..............................................................................................
求1 + 1/3 + 1/5 + ......的前n项和...................................................................................................4 40024 找出各位数字的立方和等于它本身的数............................................... 求1-1/4+1/7-1/10+……的前n4
输出华氏-摄氏温度转换表(改错题5
40025 找完数(改错题error04_2)..............................................................40027 从高位开始逐位输出一个整数的各位数字
(选作)..............................................................................................................
40052 判断素数 ..........................................................................................
求x的n次幂 .............................................................................................................................5 40053 逆序输出整数....................................................................................
生成 3 的乘方表.........................................................................................................................6 40054 输出斐波那契序列 ............................................................................. 求100^0.5+101^0.5+……+6
第7周(M7) ..........................................................................................................
50002 使用函数判断数的符号 ......................................................................
计算物体自由下落的距离.............................................................................................................6 50003 使用函数求奇数和 .............................................................................
计算分段函数..............................................................................................................................6 50005 使用函数统计素数并求和...................................................................
阶梯电价 ....................................................................................................................................7 50006 使用函数统计一个整数中数字的个数 .................................................. 求m*m+1/m+(m+1)*(m+1)+
50007 使用函数找水仙花数..........................................................................
1/(m+1)+(m+2)*(m+2)+1/(m+2)+......+n*n+1/n....................................................................................................7 50009 使用函数求余弦函数的近似值 ............................................................20063
求
1-2/3+3/5-4/7+
50052 使用函数找最大值 .............................................................................
5/9-6/11+…… 8 20064
50062 使用函数输出指定范围内的 Fibonacci 数 ...........................................
求2^1+2^2+2^3+……+2^n ....................................................................................................8 50063 使用函数找出指定范围内的完数.........................................................
第4周(M4) ................................................................................................................................................................8 第8周(M8) ..........................................................................................................
10007 显示图案 (复习printf()的字符串输出)................................................................................................8 40013 求奇数和 ..........................................................................................20042 生成阶乘表.............................................................................................................................................8 40062 求x+x*x/2!+x*x*x/3!+x*x*x*x/4!+……
20043 使用函数求 n! /(m!* (n-m)!) ....................................................................................................................9 的值 ................................................................................................................
20054 求平均值 ................................................................................................................................................9 50004 使用函数计算两点间的距离 ...............................................................
20057 求1+1/2+1/3+......+1/n ...................................................................................................................... 50061 使用函数求a+aa+aaa+aa…a..........................................................10 20065 求0!+1!+2!+……+n!........................................................................................................................ 60002 整数的十进制、八进制和十六进制表现形式10
40015 求最小值 .............................................................................................................................................. .......................................................................................................................11
40018 求a+aa+aaa+aa…a........................................................................................................................... 60003 分类统计字符....................................................................................11
第5周(M5) .............................................................................................................................................................. 60006 验证歌德巴赫猜想 .............................................................................11
30001 求一元二次方程的根 ............................................................................................................................. 60007 使用函数输出整数的逆序数 ...............................................................11
30002 求分段函数的值 .................................................................................................................................... 60009 统计单词 ..........................................................................................12
30003 分类统计字符 ....................................................................................................................................... 60062 简单计算器 .......................................................................................13
1
C程序设计 2009春学期 上机练习M2-M8参考答案
第2周(M2)
20011求华氏温度100°F对应的摄氏温度。
计算公式如下,c=5*(f-32)/9,式中:c表示摄氏温度,f表示华氏温度。(源程序error02_1.cpp) 输入输出示例: fahr=100,celsius=37
#include
20012 求华氏温度 150°F 对应的摄氏温度。
计算公式:C = 5*F/9-5*32/9,式中:C表示摄氏温度,F表示华氏温度。 输入输出示例: fahr=150, celsius=66
#include
20015当n为152时,分别求出n的个位数字(digit1)、十位数字(digit2)和百位数字(digit3)的值。 输入输出示例:
整数152的个位数字是2,十位数字是5,百位数字是1
#include
20026 输入2个整数 num1 和 num2,计算并输出它们的和、差、积、商与余数。
输出两个整数的余数可以用 printf(\num1, num2, num1%num2); 输入输出示例:括号内是说明 输入
5 3 (num1=5,num2=3) 输出 5 + 3 = 8 5 - 3 = 2 5 * 3 = 15 5 / 3 = 1
return 0; printf(\ahr = %d, celsius = %d\\n\ahr, celsius); return 0; }
20013求摄氏温度26°C对应的华氏温度。
计算公式如下,f=9*c/5+32,式中:c表示摄氏温度,f表示华氏温度。 输入输出示例: celsius=26,fahr=78
2
C程序设计 2009春学期 上机练习M2-M8参考答案
5 % 3 = 2 #include 输入一个正整数m(0<=m<=100),计算表达式 m + (m+1) + (m+2) + ...... + 100的值。 输入输出示例:括号内为说明 输入 3 0 10 50 - %d 输出 sum = 5050 * %d sum = 5005 sum = 3825 / %d #include (计算0+1+2+...+100) (计算10+11+12+...+100) (计算50+51+52+...+100) = %d\\n\ printf(\= %d\\n\ printf(\= %d\\n\ printf(\= %d\\n\ printf(\= %d\\n\ } 第3周(M3) 20031 求1+2+3+......+100(调试示例error02_5) return 0; scanf(\ for(ri = 1; ri <= repeat; ri++){ scanf(\ sum=0; for(i=m;i<=100;i++) sum=sum+i; /*---------*/ 计算表达式 1 + 2 + 3 + ...... + 100的值。 输出示例: sum = 5050 #include 求1/m+1/(m+1)+1/(m+2)+......+1/n 输入一个正整数repeat (0 输入2个正整数 m 和 n(m<=n),计算表达式 1/m + 1/(m+1) + 1/(m+2) + ...... + 1/n的值,输出时保留3位小数。 输入输出示例:括号内为说明 输入 3 (repeat=3) 求m+(m+1)+(m+2)+......+100 5 15 (计算1/5+1/6+1/7+...+1/15) 10 20 (计算1/10+1/11+1/12+...+1/20) printf(\} 20032 3 C程序设计 2009春学期 上机练习M2-M8参考答案 1 3 (计算1+1/2+1/3) 输出 sum = 1.235 sum = 0.769 sum = 1.833 #include 求1-1/4+1/7-1/10+……的前n项之和 输入一个正整数repeat (0 读入一个正整数 n,计算1-1/4+1/7-1/10+……的前 n 项之和,输出时保留3位小数。 输入输出示例:括号内是说明 输入 printf(\ = %.3f\\n\ } } 20034 求1 + 1/3 + 1/5 + ......的前n项和 2 (repeat=2) 3 10 输出 sum = 0.893 sum = 0.819 输入一个正整数repeat (0 输入一个正整数 n,计算表达式 1 + 1/3 + 1/5 + ...... 的前 n 项之和,输出时保留6位小数。 输入输出示例:括号内为说明 输入 2 5 23 输出 sum = 1.787302 sum = 2.549541 #include (计算1+1/3+1/5+1/7+1/9) (计算1+1/3+1/5+...+1/45) #include C程序设计 2009春学期 上机练习M2-M8参考答案 for(i=1;i<=n;i++){ item=flag*1.0/t; sum=sum+item; flag=-flag; t=t+3; for(fahr=lower;fahr<=upper; fahr++, fahr++) } 20038 求x的n次幂 } { }/*---------*/ celsius=5*(fahr-32)/9; printf(\,celsius); }/*---------*/ } } 20036 error02_6) 输入一个正整数repeat (0 读入2个整数 lower 和 upper,输出一张华氏—摄氏温度转换表,华氏温度的取值范围是[lower, upper],每次增加2F。 计算公式:c = 5 * (f - 32) / 9,其中:c表示摄氏温度,f表示华氏温度。 输出请使用语句 printf(\celsius); 输入输出示例:括号内是说明 输入 2 (repeat=2) 32 35 (lower=32,upper=35) 40 30 (lower=40,upper=30) 输出 fahr celsius 32 0.0 34 1.1 fahr Celsius #include 读入1 个实数x和正整数 n(n<=50),计算并输出 x 的 n 次幂(保留2位小数),不允许调用pow函数求幂。 输入输出示例:括号内是说明 输入 2 (repeat=2) 1.5 2 (x=1.5,n=2) 2 7 (x=2,n=7) 输出 2.25 128.00 #include } 5