2.1
举例1:求某位同学语数英三科的平均分:实现方法为,求语数英三科的总分,然后除以 以下部分是例子算法的源代码:
//习题2.1什么是算法:算法是用于解决某一特定问题的指令序列
/*问题1:求某位同学语数英三科的平均分:实现方法为,求语数英三科的总分,然后除以 3*1
#in clude
float main()
{
in tch in ese,math,e nglish;
float average;
printf(”请以此输入语数英三科的成绩:\n”);
scan f("%d,%d,%d",&chin ese, &math, &en glish);
printf(” 语文 %d\n",chinese);
printf(” 数学 %d\n",math);
printf(” 英语 %d\n",english);
average=(ch in ese+math+e nglish)/3;
printf(”语数英三科的平均成绩为:%f\n",average);
}
运行结果为:
举例2:怎么把大象放入冰箱?
打开冰箱
把大象装进冰箱
3. 关上冰箱
举例 3:求两个数的最大值 算法:
1.2.3.输入两个数A和B,
1.
2.
3.
比较A和B的大小,如果A>B则令C=A否则令C=B
返回C的值,C即为A和B中较大的值
2.2
解答 :结构化的算法由基本的结构程序组成;包括顺序结构 ,选择结构 ,循环结构三种基本结构
在基本的结构之间不存在向前或向后的跳转 ,流程的转移只存在于一个基本结构范围之内 . 这种算法便于阅读 ,修改和维护 ,减少了程序出错的机会 ,提高了程序的可读性 ,保证了程序的 质量 .
习题 2-8-1 源代码: #include void main() {
intintintprime( int x); year;
intintint
i=0;
for (year=1900;year<=2000;year=year+4) {
if (prime(year)) { printf( "%d\t" ,year);
i++;
} if (i%5==0) printf( "\n" );
int{
int
{
prime( int x)
if ((x%4==0&&!(x%100==0))||x%400==0)
{
return 1;
}
return 0;
运行结果:
as C:\Wir douv5\5y5te ti 32\cm<3. exe
1904 1924 1944 1964 1981
iSHK
1928 lS4fl 皿9
1560
Ilf 12 1932 1952 1972
1爭ifa 1936 1*56
1注
1*76
1V2U ±74&
19S0
zaee
b24ac( float x, float y, float z); x1,x2;a,b,c;float {if
b24ac( float x, float y, float z); x1,x2;
a,b,c;
float {
if
((((y*y)-4*x*z)>=0))
扃按任意犍址续.
习题2-8-2源代码:
#include #include float abc;
void main()
{
float float float
printf("请输入?-?a:");
scanf( "%f",&a);
printf( "\n 请输入…?b:");
scanf( "%f",&b);
printf( "\n 请输入…?c:");
scanf( "%f",&c);
b24ac(a,b,c);
x1=(-b+abc)/(2*a);
x2=(-b-abc)/(2*a);
printf( "xa=%f\t\tx2=%f\n",x1,x2);
b24ac( float x, float y, float z)
{
abc=sqrt(y*y-4*x*z);
(++!:OL>!:L=!)JOj
:[0]b=xblu
:L+U2=[!]B
(++!:OL>!:O=!)
:XBLU
:[OL]B
」0jW!W!W!
Quiblu P!O八
即npui#
:mm e-8-2 齬E
0npnfln-!:-=3:x?尊聘謝寡甘屏豈
0npnfln-!:-=3:x
?尊聘謝寡甘屏豈
BHaPHR■忑一
h:qv騎豈
sxa ■ SuuLL 3;sX£\5jMOp li'a/AO SE
:番黔马吴
:(oqB) ujniQj
:((z^x^t7-A^A)-)pbs=oqB asp
if {
(a[i]>max)
max=a[i];
"10个数中最大的是 %d\n