大学计算机——应用、计算与思维-习题及答案 何宗耀 第3章 算法与程序设计习题答案.docx

大学计算机——应用、计算与思维-习题及答案 何宗耀 第3章 算法与程序设计习题答案.docx

  1. 1、本文档共3页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
大学计算机——应用、计算与思维-习题及答案何宗耀

第3章习题答案 1.以程序员的视角理解计算机处理数据的过程。 计算机是由输入设备、存储器、运算器、输出设备和控制器五大部件组成的一台机器。用户通过输入设备如键盘给计算机提供数据。存储器用于存储数据。用户输入的数据常存储于一个称为内存的存储器中。运算器用于加工处理数据。最终的处理结果常转存至内存中,并通过输出设备(如显示器)反馈给用户。控制器可以执行命令,用于控制其它部件按照预先规定的步骤有条不紊地工作。程序员借助命令,指挥计算机的输入设备、内存、运算器、输出设备,在计算机控制器的协调下完成工作。 2.在利用计算机工作时,用户为什么只需提供输入即可? 用户对计算机的使用多表现为由输入得到所需的输出;而指挥计算机怎样把输入变成输出的工作由程序员来完成。程序员是连接用户与计算机的纽带。程序员根据用户的需求给计算机设计加工处理步骤,并把这些步骤翻译成计算机能够理解并执行的命令。程序员的工作大致可分两步:设计算法和实现算法。有了程序,用户就能使用计算机了。 3.C语言与计算机有着怎样的对应关系? C语言是编程语言,用于同计算机的沟通。C语言是程序员与计算机之间的翻译。简单归纳为: C语言用scanf函数控制计算机中的输入设备接收用户输入的数据,并把数据存储到内存中。 C语言用变量标识计算机中的内存。 C语言用代数式“命令”计算机中的运算器进行运算。 C语言用printf函数控制计算机中的输出设备显示信息。 C语言中语句的执行顺序就相当于计算机中的控制器。 4.编写一个求两个整数的商的C语言程序。 #include<stdio.h> int main() { int a,b,c; printf("请输入两个整数?:?\n"); scanf("%d %d",&a,&b); c=a/b; printf("商是:%d\n",c); return 0; } 5.写出求1+3+5+……+99的算法 int sum = 1,i = 3; while(i <= 99) { sum = sum + i; i=i+2; } 6.鸡兔同在一个笼子里,从上面数有35个头,从下面数有94只脚。求笼中各有几只鸡和兔。 #include <stdio.h> int main() { int chicken; int rabbit; for (chicken = 0; chicken < 35; chicken++) { for (rabbit = 0; rabbit <= 35 - chicken; rabbit++) { if ((chicken + rabbit == 35) && (2 * chicken + 4 * rabbit == 94)) printf("鸡有%d只,兔有%d只", chicken, rabbit); } } return 0; } 7.有508个西瓜,第一天卖了一半多2个,以后每天卖剩下的一半多2个,问几天后能卖完。 #include <stdio.h> int main() { int i,a=508; for(i=1;a>0;i++) a=a-(a/2+2); printf("%d天后能够卖完西瓜",i); return 0; } 8.怎样输出如下所示的九九乘法表。 1*1=1 2*1=2 2*2=4 3*1=3 3*2=6 3*3=9 ……………… 9*1=9 9*2=18 9*3=27 ………… 9*9=81 #include <stdio.h> int main() { int i,j,n; for(i=1;i<=9;i++) { for(j=1;j<=i;j++) printf("%d*%d=%2d ",i,j,i*j); printf("\n"); } return 0; } 9.怎样用递归算法求1+2+3+……+100的值? #include<stdio.h> int sum(int n) { if(n==1) return 1; else return n +sum(n-1); } int main() { printf("sum = %d\n", sum(100)); return 0; } 10.用L型骨牌覆盖下面的棋盘。

您可能关注的文档

文档评论(0)

balala11 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档