ImageVerifierCode 换一换
格式:DOCX , 页数:81 ,大小:35.77KB ,
资源ID:9238756      下载积分:12 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/9238756.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(习题参考答案.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

习题参考答案.docx

1、习题参考答案习题参考答案第 1 章1. a=%d,b=%d2.【程序代码如下: 】#include int main( )printf(“ *n”);printf(“ * * *n”);printf(“ * * * * *n”);printf(“ * * * * * * *n”);return 0;【程序运行结果如下: 】3. The result is 95第 2 章1. a=3,b=-272. 假设圆柱的底面积半径为 r(= 2.5) ,高为 h(= 3.5) ,编写求体积(体积=底面积*高)的程序。【程序代码如下: 】#include #define PI 3.1415926int ma

2、in( )double r = 2.5;double h = 3.5;double v=0;v = (PI * r * r)*h;printf(“v = %lfn”, v);return 0;【程序运行结果如下: 】3. 将下面的数学公式转换成 C语言的表达式,并用程序验证转换后的表达式是否与原数学公式是一致的。 数学公式如下:b ab ab ab aa+ 4242设 a = 3, b = 5。【程序代码如下: 】#include int main( )double a=3, b=5;double result = (-2 * a + ( 4*a b )/( 2*a + b ) )/( (a

3、- 4*b)/(a + b) );printf(“%lfn”, result);return 0;【程序运行结果如下: 】4. 编写程序, 从键盘输入两个字符分别存放在变量 x 和 y 中, 要求通过程序交换它们的值。【程序代码如下: 】#include int main( )char x, y;char tmp;printf(“Input two characters:”);scanf(“%c%c”, &x, &y);printf(“Before swap: x=%c, y=%cn”, x, y);tmp = x;x = y;y = tmp;printf(“After swap: x=%c,

4、 y=%cn”, x, y);return 0;【程序运行结果如下: 】5. Write a program to evaluate the polynomial shown here: for x = 2.55.3x 3 -5x 2 +6.【程序代码如下: 】#include #include int main( )double a=3, b=-5,c=2;double x = 2.55;double root1, root2;double delt;delt = b*b 4*a*c;root1 = ( -b + sqrt( delt ) ) / (2 * a) ;root2 = ( -b

5、- sqrt( delt ) ) / (2 * a) ;printf(“The two roots are:n”);printf(“root1 = %lfn root2 = %lfn”, root1, root2);return 0;【程序运行结果如下: 】第 3 章1. 1 0 1 0 1 1 02. 某市不同车牌的出租车 3 公里的起步价和计费分别为: 夏利 7 元/公里, 3 公里以外2.1 元/公里; 富康 8 元/公里, 3 公里以外 2.4 元/公里; 桑塔纳 9 元, 3 公里以外 2.7 元/公里。编程:从键盘输入乘车的车型及公里数,输出应付的车资。【程序代码如下: 】#inc

6、lude int main( )int carType;/车型。1 代表夏利;2 代表富康;3 代表桑塔纳double xiali = 2.1; /每公里价格double fukang = 2.4;double sangtana = 2.7;double distance; /距离double totalMoney;/总的收费printf(请输入您乘坐的车型:1 代表夏利;2 代表富康;3 代表桑塔纳:);scanf(%d, &carType);printf(请输入您乘车的总路程:);scanf(%lf, &distance);if( carType = 1)/夏利if( distance 3

7、 )totalMoney = 7.0;elsetotalMoney = 7 + xiali * (distance 3);else if( carType = 2 ) /富康if( distance 3 )totalMoney = 8.0;elsetotalMoney = 8 + fukang * (distance 3);else if( carType = 3 ) /富康if( distance 3 )totalMoney = 9.0;elsetotalMoney = 9 + sangtana * (distance 3);printf((四舍五入)您的车费为:%.0lfn, totalM

8、oney );return 0;【程序运行结果如下: 】3. Write a program that asks the user to type in two integer values at the terminal. Testthese two number to determine if the first is evenly divisible by the second, and then display anappropriate message at the terminal.【程序代码如下: 】#include int main( )int num1, num2;print

9、f(“Input two integers:”);scanf(“%d%d”, &num1, &num2);if ( 0 = num1 % num2 )printf(“ %d can be evenly divisible by %dn”, num1, num2);elseprintf(“ %d can not be evenly divisible by %dn”, num1, num2);return 0;【程序运行结果如下: 】第 4 章1. 65 B2. c = J3. 编写程序, 从键盘输入两个数字字符并分别存放在字符型变量 x 和 y 中, 要求通过程序将这两个字符对应的数字相加后输

10、出。【程序代码如下: 】#include int main( ) char x , y;printf(“Input two characters:”);scanf(“%c%c”, &x, &y);if( x=0&x=0&y=9 )printf(“%d n”, x-0+y-0);return 0;【程序运行结果如下: 】4. 编写程序,从键盘上输入一个小写字母,将其转化为大写字母。【程序代码如下: 】#include int main( ) char lower;printf( “Input a lower alpha:”);scanf(“%c”, &lower);if( lower=a & l

11、ower=z )printf(“%c n”, lower - 32);return 0;【程序运行结果如下: 】5. Write a program that takes an integer keyed in from the terminal and extracts anddisplays each digit of the integer in English.So, if the user types 932,the program should display“ nine three two”.【程序代码如下: 】#include (这题应该放到第 6 章)int main( )i

12、nt num;int iDigit; /每一位上的数字printf(“Pleasse input an integer:”);scanf(“%d”, &num);while ( num ) /当该数不为 0 时,继续提取其个位上的数字iDigit = num % 10; /提取个位switch ( iDigit )case 0: printf(“Zero “); break;case 1: printf(“One “); break;case 2: printf(“Two “); break;case 3: printf(“Three “); break;case 4: printf(“Fou

13、r “); break;case 5: printf(“Five “); break;case 6: printf(“Six “); break;case 7: printf(“Seven “); break;case 8: printf(“Eight “); break;case 9: printf(“Night “); break;num /= 10; /去掉该数的个位printf(“n”);return 0;【程序运行结果如下: 】第 5 章1. C 2. B 3. C 4. C 5. B 6. A 7. A8. 错误。 9. 正确。 10. void11. 编写程序, 用有参有返回值函

14、数实现判断三个数是否能构成三角形。 函数原型可声明为: “int isTriangle( double a, double b, double c );” , 其中, a,b,c为三角形的三条边,返回值为 0或 1,0 代表不能构成三角形,1 代表能构成三角形。请在主函数中调用该函数完成程序的功能。【程序代码如下: 】#include int isTriangle( double a, double b, double c);/函数声明int main( )double ea, eb, ec;/三角形的三条边int result; /是否是三角形的判断结果printf(“Please inpu

15、t the three edges of a triangle:”);scanf(“%lf%lf%lf”, &ea, &eb, &ec);result = isTriangle( ea, eb, ec ); /函数调用if( 0 = result )printf(“这组边长不能构成三角形n”);elseprintf(“这组边长可以构成三角形n”);return 0;int isTriangle( double a, double b, double c ) /函数定义if( a 0 & b 0 & c 0 & a + b c & b + c a & c + a b )/三角形任意边长大于 0,

16、且 任意两边之和大于第三边return 1; /可以构成三角形elsereturn 0; /不能构成三角形【程序运行结果如下: 】12. Write a function called prime that returns 1 if its argument is a prime number and returns0 otherwise.【程序代码如下: 】#include (这题应该放到第 6 章)#include int prime( int n ); /函数声明int main( )int num;int isPrime;printf(“Please input an integer:

17、”);scanf(“%d”, &num);isPrime = prime( num ); /函数调用if ( 1 = isPrime )printf(“ %d is a prime n” , num);elseprintf(“ %d is not a primen” , num );return 0;int prime( int n ) /函数定义int i;for( i = 2; i sqrt ( n ) )return 1;elsereturn 0;【程序运行结果如下: 】第 6 章1. A 2. B 3. D 4. C 5. D 6. C 7. A 8. A 9. A 10. 5 11.

18、 3 12. 编写程序。功能:从读入的整数数据中,统计大于零的整数个数和小于零的整数个数。用输入零来结束输入,程序中用变量 i 统计大于零的整数个数,用变量 j 统计小于零的整数个数。【程序代码如下: 】#include int main( )int num; /输入的整数int iCount = 0; /大于 0 的整数的计数变量int jCount = 0; /小于 0 的整数的计数变量printf(“请输入多个整数:(以 0 结束输入)”);scanf(“%d”, &num);while ( num ) / while ( num != 0 )if ( num 0 ) +iCount;e

19、lse if ( num 0 ) +jCount;scanf(“%d”, &num);printf(“大于 0 的个数:%dn”, iCount);printf(“小于 0 的个数:%dn”, jCount);return 0;【程序运行结果如下: 】13. 编写程序。功能:以每行 5 个数来输出 300 以内能被 7 或 17 整除的偶数,并求出其和。【程序代码如下: 】#include int main( )int n; /300 以内的数int count = 0; /满足条件的数的统计变量int sum = 0; /求和变量for( n = 1; n = 300; +n)if ( n

20、% 2 = 0 & (n % 7 =0 | n % 17 = 0) ) /是偶数, 且能被 7 或 17 整除sum += n; /求和printf(“%5d”, n);/输出 n 值+count;if( count % 5 = 0 ) /某行够 5 个数了,则换行printf(“n”);printf(“n”);return 0;【程序运行结果如下: 】14. 编写程序。功能:输出 100到 1000 之间的各位数字之和能被 15整除的所有数,输出时每 10 个数一行。【程序代码如下: 】#include (移到第 7 章)int main( )int n;/100到 1000 之间的整数in

21、t tmpn;/临时存储 nint sum; /统计 n 的各位数字之和int count = 0; /输出数的个数for ( n = 100; n = 1000; +n )tmpn = n; /将 n 临时存储到 tmpn 中sum = 0; /每个 n 要重新计算各位数字之和while ( tmpn ) /当 tmpn 不为 0 时sum += tmpn % 10;tmpn /= 10;if ( sum % 15 = 0 ) /如果 n 满足指定的条件printf(“%5d”, n); /输出当前 n 值+count;if ( count % 10 = 0 ) /一行输出了 10 个整数,

22、则换行printf(“n”);printf(“n”);return 0;【程序运行结果如下: 】15. 编写程序。功能:分别求出一批非零整数中的偶数、奇数的平均值,用零作为终止标记。【程序代码如下: 】#include int main( )int n;/整数int eSum = 0; /奇数的和int oSum = 0; /偶数的和int eCount = 0; /奇数的个数int oCount = 0; /偶数的个数printf(“请输入若干个整数(以 0 结束输入) :”);scanf(“%d”, &n);while ( n ) /当 n 不为 0if ( n % 2 ) /n 为奇数

23、eSum += n; +eCount; else /否则, n 为偶数 oSum += n; +oCount; scanf(“%d”, &n); /输入下一个整数printf(“奇数平均值:%fn”, 1.0 * eSum / eCount );printf(“偶数平均值:%fn”, 1.0 * oSum / oCount );return 0;【程序运行结果如下: 】16. 编写程序。功能:计算并输出 500 以内最大的 10 个能被 13 或 17 整除的自然数之和。【程序代码如下: 】#include int main( )int n; /500-1 之间的整数int sum = 0;

24、/求和变量int count = 0; /满足条件的数的个数for ( n=500; n0; -n)if ( n % 13 = 0 | n % 17 = 0 )sum += n;+count;if ( count = 10 ) /有 10 个满足条件的整数,提前结束循环break;printf(“sum = %dn”, sum );return 0;【程序运行结果如下: 】第 7 章1. B 2. 编写程序。功能:百马百担问题:有 100 匹马,驮 100 担货,大马驮三担,中马驮2 担,两匹小马驮一担,求大、中、小马各多少匹?【程序代码如下: 】#include int main( )int

25、 bigHorse, midHorse, littleHorse; /大、中、小马的数量for ( bigHorse = 0; bigHorse = 33; +bigHorse )for( midHorse = 0; midHorse = 50; +midHorse )littleHorse = 100 bigHorse midHorse; /小马数量if ( littleHorse % 2 = 0 & (3*bigHorse + 2*midHorse + littleHorse / 2= 100 ) ) /小马数量是偶数,且三种马驮的货是 100 担printf(“大马:%d, 中马:%d,

26、 小马:%dn”, bigHorse, midHorse,littleHorse );return 0;【程序运行结果如下: 】3. 编写程序。 功能: 百鸡问题: 100 元买 100 只鸡, 公鸡一只 5 元钱, 母鸡一只 3 元钱,小鸡一元钱三只,求 100 元钱能买公鸡、母鸡、小鸡各多少只?【程序代码如下: 】#include int main( )int cock, hen, chick; /公鸡、母鸡、小鸡的数量for (cock = 0; cock = 20; + cock)for(hen = 0; hen = 33; + hen)chick = 100 cockhen; /小鸡

27、数量if (chick % 3 = 0 & (5* cock + 3* hen + chick / 3 = 100 ) ) /小鸡数量是 3 的倍数,且三种鸡的总钱数是 100printf(“公鸡:%d, 母鸡:%d, 小鸡:%dn”, cock, hen, chick);return 0;【程序运行结果如下: 】4. 编写程序。功能:在屏幕上用*输出一个漏斗状的图形。【程序代码如下: 】#include void printFunnel( int n); /函数声明int main( )int n; /上半部的总行数printf(“请输入漏斗上半部的总行数:”);scanf(“%d”, &n

28、);printFunnel( n ); /调用函数打印漏斗形return 0;void printFunnel( int n)int row; /行号int starCount; / 某行上星号的数量int spaceCount; /某行上空格的数量for( row = 1; row = n; +row)for( spaceCount = 1; spaceCount = row 1 ; + spaceCount)printf(“ “); /打印出某行上星号前的空格for( starCount = 1; starCount = 2*( n row ) + 1; +starCount )printf(“* “); /打印出某行上的所有星号printf(“n”); /换行/打印下半部分(可看成一个 n-2 行的三角形

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1