本“c程序设计谭浩强答案”选自于:谭浩强《C程序设计》(第5版)典型习题详解
购买请点击链接:/Ebook/999956.html
更多在线刷题软件|模拟试题题库|历年真题及答案,上文得学习网。
文得学习网汇聚了全国各种考试,不仅提供了全国各高校专业辅导班,还有电子书、题库、视频等10万份考试资料。
试看部分精选内容:试题及答案
4用伪代码表示第2题中各题的算法。
答:(1)A瓶与B瓶互换的伪代码为:
c=a
a=b
b=c
(2)求解10个数中最大数的伪代码为:
n=1
input max
while n<10 do
input a
if a>max then max=a
n=n+1
end do
print max
(3)将3个数大小输出的伪代码为:
input a,b,c
if a<b then swap a,b
if a<c then
print c,a,b
else
if c>b then
print a,c,b
else
print a,b,c
end if
end if
(4)求1+2+3+…+100的伪代码为:
sum=0
n=1
while n<=100 do
sum=sum+n
n=n+1
end do
print sum
(5)判断一个数n能否同时被3和5整除的伪代码为:
input n
flag=0
if mod(n,3)≠0 then flag=-1
if mod(n,5)≠0 then flag=-1
if flag=0 then
print n "能被3和5整除"
else
print n "不能被3和5整除"
end if
(6)输出100~200之间素数的伪代码为:
n=100
while n<=200 do
i=2
while i<=sqrt(n)
if mod(n,i)=0 then
i=n
else
i=i+1
end if
end do
if i<sqrt(n) then print n
n=m+1
end do
(7)求两个数m和n最大公约数的伪代码为:
input m,n
if m<n then swap m,n
t=mod(m,n)
while r≠0 do
m=n
n=r
r=mod(m,n)
end do
print n
(8)求方程式ax2+bx+c=0根的伪代码为:
int a,b,c
disc=b^2-4ac
if disc>=0 then
if disc=0 then
x1,x2=-b/(2a)
else
x1=(-b+sqrt(disc))/(2a)
x2=(-b-sqrt(disc))/(2a)
end if
print x1,x2
else
p=-b/(2a)
q= sqrt(disc)/(2a)
print p+q,"+","i"
end if
5用自顶向下、逐步细化的方法进行以下算法的设计:
(1)输出1900~2000年中是闰年的年份,符合下面两个条件之一的年份是闰年:
①能被4整除但不能被100整除;
②能被100整除且能被400整除。
答:先画出图2-18(a),对它细化得图2-18(b);对图2-18(b)中的S1.1细化得图2-18(c)。
图2-18 输出1900~2000中闰年的流程图
(2)求ax2+bx+c=0的根。分别考虑d=b2-4ac大于0、等于0和小于0这3种情况。
答:先画出图2-19(a),对其中的S3细化为图2-19(b);对图2-19(b)中的S3.1细化为图2-19(c);对图2-19(c)中的S3.1.1细化为图2-19(d);对图2-19(c)中的S3.1.2细化为2-19(e),对图2-19(b)中S3.2细化为图2-19(f)。
图2-19 求ax2+bx+c=0根的流程图
(3)输入10个数,输出其中最大的一个数。
答:先初步画出图2-20(a),考虑到还没有学习数组的知识,因而不能做到将10个数全部输入给数组中各个元素,然后再从中找到最大者。由于不采用数组这种数据结构,算法也应与采用数组时有所不同,现在只用普通变量,逐个读入数据,将当时各数中的最大者保留下来存放在max中,以便再与后面读入的数比较。将图2-20(a)细化为图2-20(b),再细化为图2-20(c)。
图2-20 求解输入10个数中最大数的流程图
热门文章推荐:
- 2021-07-06
- 2021-07-06
- 2021-07-06
- 2021-07-06
- 2021-07-06
- 2021-07-06
- 2021-07-06