Anda di halaman 1dari 47

C++

:
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

5 case break case


case
break


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';

Anda mungkin juga menyukai