C++练习题《程序设计与问题求解》附答案吴Word文档下载推荐.docx
- 文档编号:16470630
- 上传时间:2022-11-23
- 格式:DOCX
- 页数:9
- 大小:227.47KB
C++练习题《程序设计与问题求解》附答案吴Word文档下载推荐.docx
《C++练习题《程序设计与问题求解》附答案吴Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《C++练习题《程序设计与问题求解》附答案吴Word文档下载推荐.docx(9页珍藏版)》请在冰豆网上搜索。
地球绕太阳公转一周叫做一回归年,一回归年长365日5时48分46秒。
因此,公历规定有平年和闰年,平年一年有365日,比回归年短0.2422日,四年共短0.9688日,故每四年增加一日,这一年有366日,就是闰年。
但四年增加一日比四个回归年又多0.0312日,400年后将多3.12日,故在400年中少设3个闰年,也就是在400年中只设97个闰年,这样公历年的平均长度与回归年就相近似了。
所以规定,公历年份是整百数的,必须是400的倍数的才是闰年,不是400的倍数的就是平年。
也就是我们通常所说的:
四年一闰,百年不闰,四百年再闰,例如1900年、2100年就不是闰年。
根据上述材料完成以下任务:
*输入一个年份,自动判断是平年还是闰年,请设计算法(可用NS图或流程图进行描述)
C++练习题:
《程序设计与问题求解》作业1
解答
-姓名:
学号:
班级:
信工114
第1题:
算法的概念:
为了解决问题所制定的步骤、方法。
特征:
1、有穷性;
2、确定性;
3、有效性;
4、有零或多个输入;
5、有一个或多个输出。
常用描述工具:
1、自然语言;
2、流程图;
3、N-S图;
4、计算机语言;
5、伪代码。
第2题:
三种标准结构:
1、顺序结构;
2、分支结构;
3、循环结构。
共同点:
使算法的流程更清晰简洁,增强可读性。
差别:
:
1、顺序结构:
按书写顺序执行的操作。
2、分支结构:
根据指定条件做出决策,在两条或多条分支路径中选择其中的一条执行。
3、循环结构:
根据是否满足指定的条件而决定是否重复执行指定操作。
第3题:
算法及流程图:
解:
当a≠0时,令Δ=b2-4ac,当Δ<0时,方程无实数根;
当Δ≥0时,方程有两个实数根x1=,x2=.
当a=0时,再考虑b:
若b≠0,则方程的根为x=;
当b=0时,再考虑c:
当c≠0时,方程无根;
当c=0时,方程的解是全体实数.
算法步骤如下:
第一步,输入a,b,c.
第二步,如果a≠0,执行第三步,如果a=0,执行第七步.
第三步,Δ=b2-4ac.
第四步,如果Δ<0,输出“方程无实数根”,如果Δ≥0,执行第五步.
第五步,x1=,x2=.
第六步,输出x1,x2.第七步,如果b≠0,执行第八步,如果b=0,执行第十步.
第八步,x=.第九步,输出x.
第十步,如果c≠0,输出“方程无实根”;
如果c=0,输出“方程的根为全体实数”.
该算法的程序框图如图所示:
程序:
#include"
stdio.h"
math.h"
voidmain()
{
floata,b,c,d,x1,x2;
printf("
\n请输入方程的三个系数a,b,c的值:
"
);
scanf("
%f%f%f"
&
a,&
b,&
c);
if(a==0)//一次方程
if(b==0)
if(c==0)
方程的解是全体实数!
\n"
else
方程无实根!
此一元一次方程解为:
%f\n"
-c/b);
{
d=b*b-4*a*c;
if(d>
=0)
x1=(-b+sqrt(d))/(2*a);
x2=(-b-sqrt(d))/(2*a);
x1=%f,x2=%f\n"
x1,x2);
}
}
输出结果:
输入数据
a
b
c
输出结果
第1组
有任意解
第2组
1
-1
第3组
2
3
无实根
第4组
-1、-2
第5组
无解
第6组
第7组
第8组
0、-1
第9组
12
21
-0.048991、-1.701009
第10组
第4题:
算法流程图:
#include"
inta,b,c,t;
请输入三个数:
%d%d%d"
if(a>
b)//第一个数和第二个数比较
{t=a;
a=b;
b=t;
}//如果第一个数大于第二个数,则两个数交换
if(b>
c)//第二个数和第三个数比较
{t=b;
b=c;
c=t;
}//如果第二个数大于第三个数,则两个数交换
/*经过前两个步骤,最大的那个数就已经排到最后面了*/
b)//再将剩下的两个数比较就行了
}//两个数交换
\n按从小到大的顺序排序结果如下:
%d%d%d\n"
a,b,c);
输入
123
132
213
231
312
321
112
211
输出
第5题:
intyear;
请输入年份:
scanf("
%d"
year);
if(((year%4==0)&
&
(year%100!
=0))||(year%400==0))//符合以下条件之一的年份即为闰年:
1、能被4整除而不能被100整除;
2、能被400整除。
printf("
该年为闰年!
else
该年为平年!
输入年份
2000
2001
2002
2003
2004
2005
2008
2010
2012
200
结果
闰年
平年
姓名:
学号:
班级:
114
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序设计与问题求解 C+ 练习题 程序设计 问题 求解 答案