好文档 - 专业文书写作范文服务资料分享网站

(完整版).c程序设计谭浩强第二章习题与答案 - 图文

天下 分享 时间: 加入收藏 我要投稿 点赞

(5) 判断一个数n能否同时被3和5整除。 #include void main() { int i;

printf(\scanf(\

if(i%3==0 && i%5==0) printf(\else

printf(\}

(6) 将100~200之间的素数输出。 #include void main() { int i,j;

for(i=100;i<=200;i++) for(j=2;j

if(i%j==0) break;

if(i==j+1) printf(\} }

(7) 求两个数m和n的最大公约数。 #include void main() {

int m,n; int t; int i; int z=1;

scanf(\if(m>n) {t=m;m=n;n=t;} for(i=2;i<=m;i++) {

if(m%i==0 && n%i==0) z=i; }

printf(\}

(8) 求方程式ax2?bx?c?0的根。分别考虑:①有两个不等的实根;②有两个相等

的实根。 #include #include void main() {

float a,b,c; float dt; float m,n; float x1,x2;

printf(\

scanf(\dt=sqrt(b*b-4*a*c); m=-b/(2*a); n=dt/(2*a); if(dt<=1e-6) {

x1=m;x2=m;

printf(\}

if(dt>1e-6) {

x1=m+n;x2=m-n;

printf(\}

}再次说明一下由于我们考虑了实数在内,而实数在计算和存储时有细小误差,所以dt=0用 dt<=1e-6表示。即10的-6次方。 2.5 用N-S图表示2.4题中各题的算法。 2.6 用伪代码表示2.4题中各题的算法。

(1)输出1900-----2000年中是闰年的年份,符合下面俩个条件之一的年份是闰年。(一)能被4整除但不能被100整除 (二)能被100整除且能被400整除。 #include void main() { int i;

for(i=1900;i<=2000;i++) {

if(i%4==0 && i0) printf(\else if(i@0==0) printf(\} }

2.7 什么叫结构化程序设计?他的主要内容是什么? 答:结构化程序设计是进行以模块功能和处理过程设计为主的详细设计的基本原则。它用基本结构(一般认为是3种:顺序、选择和循环)为基本思想设计的程序。这种程序便于编写、

便于阅读、便于修改和维护。这就减少了程序出错的机会,提高了程序的可靠性,保证了程序的质量。

它的主要内容为:把一个复杂问题的求解过程分阶段进行,每个阶段处理的问题都控制在人们容易理解和处理的范围内。

具体说:采用以下方法来保证得到结构化的程序:

(1)自顶向下(2)逐步细化(3)模块化设计 (4)结构化编码。{ 拓展:结构化程序的概念首先是从以往编程过程中无限制地使用转移语句而提出的。转移语句可以使程序的控制流程强制性的转向程序的任一处,在传统流程图中,用\很随意\的流程线来描述转移功能。如果一个程序中多处出现这种转移情况,将会导致程序流程无序可寻,程序结构杂乱无章,这样的程序是令人难以理解和接受的,并且容易出错。

2.8 用自顶向下、逐步细化的方法进行以下算法的设计:

(1) 输出1900-2000年中是闰年的年份,符合下面两个条件之一的年份是闰年。①能被

4整除但不能被100整除;②能被100整除切能被400整除。 #include void main() { int i;

for(i=1900;i<=2000;i++) {

if(i%4==0 && i0) printf(\else if(i@0==0) printf(\} }

(2) 求ax2?bx?c?0的根。分别考虑D=b?4ac大于0、等于0、小于0这3种

2情况。

#include #include void main() {

float a,b,c; float dt; float m,n; float x1,x2;

printf(\

scanf(\dt=b*b-4*a*c; if(fabs(dt)<=1e-6) {

x1=-b/(2*a);x2=-b/(2*a);

printf(\}

else if(dt>1e-6) {

x1=(-b+sqrt(dt))/(2*a);x2=(-b-sqrt(dt))/(2*a);

printf(\} else

{m=(-b)/(2*a); n=sqrt(-dt)/(2*a);

printf(\printf(\} }

(3) 输入10个数,输出其中最大的一个数。 #include void main() {

int a[10]; int i; int max;

printf(\for(i=0;i<=9;i++) scanf(\max=a[0];

for(i=1;i<=9;i++)

if(a[i]>max) max=a[i];

printf(\}

(完整版).c程序设计谭浩强第二章习题与答案 - 图文

(5)判断一个数n能否同时被3和5整除。#includevoidmain(){inti;printf(\scanf(\if(i%3==0&&i%5==0)printf(\elseprintf(\}(6)将100~200之间的素数输出。#includevoidmain
推荐度:
点击下载文档文档为doc格式
49k2n3lt5l4yj364q360565jb3urou0114h
领取福利

微信扫码领取福利

微信扫码分享