:
E_mail:
xyzhong@seu.edu.cn
if if-else
switch
while for do-while
continue break
1 A
A B A
3
P N
A P
Y
A
i<10
i++
A
P A
N
P
i++ Y
i<=10
3.2.1 if if-else
2
1)if { }
if (a<0) a=-a;
if (a<0) {a=-a;}
2) if {
1}
else { 2 } 1 2
if (a>b)
max=a;
else max=b;
#include <iostream.h>
void main()
{
float a; a<0
T F
cout<< \n"; a=-a
cin>>a;
if (a<0) a=-a;
cout<< :
<<a<<'\n';
}
3.5
#include <iostream.h>
void main()
{
int n1,n2,n3,min; n1>n2
T F
cout<<" \n";
min=n2 min=n1
cin>>n1>>n2>>n3;
if (n1<n2) min=n1; T
min>n3
F
else min=n2; min=n3
if (n3<min) min=n3;
cout<< :
<<min<<'\n';
}
if
1
2 C++
if ( 1)
if ( 2)
T F
1
2 3
1
T F T F else
1 2 2
3 4 else if ( 3)
3
else
4
3.6 if
#include <iostream.h>
void main()
n1<n2
{ T F
int n1,n2,n3,min; n1<n3 n2<n3
cout<<" \n";T F T F
cin>>n1>>n2>>n3;
min= min= min= min=
if (n1<n2) n1 n3 n2 n3
if (n1<n3) min=n1;
else min=n3;
else if (n2<n3) min=n2;
else min=n3;
cout<< :
<<min<<'\n';
}
3.7
a b c
a==0&&b==0 F
T
T a==0&&b!=0 F
x0=-c/b
delta=b*b-4*a*c
T delta<0
F
T delta==0 F
x0=-b/2/a x0=(-b+sqrt(delta))/2/a
x1=(-b-sqrt(delta))/2/a
#include <math.h>
#include <iostream.h>
void main()
{ double a,b,c,delta,x1,x2;
cout<<" a,b,c\n";
cin>>a>>b>>c;
if (a==0&&b==0) cout<<" !\n";
else
if (a==0&&b!=0) // bx+c=0
cout<<" "<<-
c/b<<'\n';
else{delta=b*b-4*a*c;
if (delta<0)
cout<<" \n";
else
if (delta==0)
cout<<" "<<-b/(2.0*a);
else{
cout<<" ";
cout<<(-b+sqrt(delta))/(2.0*a);
cout<< <<
(-b-sqrt(delta))/(2.0*a)<<'\n';
}
}
}
3.2.2 switch
switch
switch
if-else
1 2 n
1 2 n
switch M
{
case M1
break
case M2
break
case Mn n
break
default n+1
}
switch M
M==M 1
case 1
M==M 2
2
M==M 3
case 3
break
default n+1
score
score>=90 F
T
score>=80 F
T
T score>=70
A F
B score>=60
T F
C E
D
if
int score;
cout<<" ";
cin>>score;
cout<<" ";
if(score>=90)
cout<<'A';
else if(score>=80)cout<<'B';
else if(score>=70)
cout<<'C';
else if(score>=60)
cout<<'D';
else
cout<<'E';
score
score/10
10 9 8 7 6 default
A B D E
C
int score;
cout<<" ";
cin>>score;
cout<<" ";
switch(score/10)
{ case 10:
case 9: cout<<'A';break;
case 8: cout<<'B';break;
case 7: cout<<'C';break;
case 6: cout<<'D';break;
default: cout<<'E';
}
1 switch if
if
2 case
3 default
s
s<250
250<=s<500 2%
500<=s<1000 5%
1000<=s<2000 8%
2000<=s<3000 10%
3000<=s 15%
p
w d
f=p*w*s*(1-d/100.0)
p w s f
#include<iostream.h>
void main(void)
{ int c,s;float p,w,d,f;
cout<<"Input p,w,s:";
cin>>p>>w>>s; c=s/250;
switch(c){
case 0:d=0;break;
case 1:d=2;break;
case 2:
case 3:d=5;break;
case 4:
case 5:
case 6:
case 7:d=8;break;
case 8:
case 9:
case 10:
case 11: d=10;break;
default: d=15;
}
f=p*w*s*(1-d/100.0);
cout<<"p="<<p<<'\t<<"w="<<w<<'\t
<<"s="<<s<<'\n';
cout.precision(2);
cout<<"f ="<<f<<'\n';
}
3.3.1 while
1
while (
1
{}
3.12 1+2+3++100
#include <iostream.h> sum
void main() sum=0
i i=1
{
int i,sum; i< 100
i=1; sum sum i
sum=0;
while (i<=100) i++
{ sum
sum+=i;
++i;
}
cout<<"1 100
";
cout <<sum<<endl;
}
3.3.2 do-while
do
while ;
3.13 1+2+3++100
#include <iostream.h>
void main()
{ sum sum=0
int i,sum;
i=1;sum=0; i i=1
do
sum sum
{
i
sum=sum+i; i++
i++; i<=100
}while(i<=100);
cout<<1 100 sum
<<sum<<endl;
}
3.3.3 for
for ( 1 2 3)
( )
1
3
1
2
=0
S
3
1+2+3++100
#include <iostream.h> sum=0
void main() i=1
{ i< 100
int i,sum; sum sum i
sum=0; i++
for(i=1;i<=100;i++)
sum
sum+=i;
cout<<"1 100
";
cout <<sum<<endl;
}
1
2 for
2
3 for C
3.3.4
while do while
for
for 1
while do
while for
3
while for
do while
3.3.5
C++
C++
3.4.1 break
break switch
break switch
3.19 m
#include <iostream.h>
#include <math.h>
void main()
{ int m,i,k;
cin>>m;
k=sqrt(m);
for (i=2;i<=k;i++)
if (m%i==0) break; //
if (i>=k+1)
cout<<m<<" \n";
else
cout<<m<<" \n";
}
3.20 2~100
void main()
{ int m,i,k,n=0;
for (m=2;m<=100;m++)
{ k=int(sqrt(m));
for (i=2;i<=k;i++)
if (m%i==0) break;
if (i>=k+1)
{ n=n+1;
cout<<setw(4)<<m;
if (n%10==0) cout<<'\n';}
}
cout<<"\n 2 100 "<<n<<endl;
}
3.4.2 continue
continue
continue
while do-while
continue
for continue for
3
2
3.21 30 3
void main()
{ int n=0;
for (int i=1;i<=30;i++)
{ if(i%3==0) continue;
cout<<setw(4)<<i;
n++;
if(n%10==0)
cout<<'\n';
}
cout<<'\n';
}
3.5
1.
2.
3.
0
4.
5.
3.5.1
100
3.5.2
3.25 20
1202
long int f1,f2,f3; F(1)=1 (n=1)
int i; F(2)=1 (n=2)
f1=1;f2=1; F(n)=F(n-1)+F(n-2) (n>=3)
cout<<setw(10)<<f1<<setw(10)<<f2;
for (i=3;i<=20;i++)
{ f3=f1+f2;
cout<<setw(10)<<f3;
f1=f2;
f2=f3;
if (i%5==0)cout<<'\n';
}
cout<<'\n';
int n,m;
int r;
cout<<" ";
cin>>n>>m;
r=m;
while(m%r!=0||n%r!=0) r--;
cout<<"
"<<r<<'\n';
m n
Step1 m n r
Step2 r 0 n m
n Step3
Step3 n m r
n Step1 ( )
int n,m;
int r;
cout<<" ";
cin>>n>>m;
while(m%n!=0)
{
r=m%n;
m=n;
n=r;
}
cout<<" "<<n<<'\n';