GV.TVN Bài Tập – Đọc Chương Trình C P.1
Đọc các chương trình được thiết kế như dưới đây, ghi lại kết quả đọc được và so sánh với kết
quả khi chạy chương trình để kiểm tra kỹ năng vận dụng cấu trúc điều kiển chương trình.
//*****De 1
#include <iostream.h>
void main()
{
cout<<"de 1: \n";
int i=1, n=5, sum=0;
while(i<=n)
{
sum+=i*i;
i++;
}
cout<<"i = "<<i<<" ; sum = "<<sum;
}//end main1
KQ: i = 6 , sum = 55
//*****De 2
#include <iostream.h>
void main()
{
cout<<endl<<"de 2: \n";
int f=1, n=5;
do {
f*=n;
n--;
}while(n>1);
cout<<"n = "<<n<<" ; f = "<<f;
}//end main2
KQ: n = 1 , f = 120
//*****De 3
void main()
{
cout<<endl<<"de 5: \n";
int i, a, b, c ;
for(i=0; i<=5; i++)
{
if(i%2==0) a=i;
else if(i%3==0) b=i;
else c=a+b;
}
cout<<"a = "<<a<<" ; b = "<<b<<" ; c = "<<c;
}//end main5
KQ: a = 4 , b = 3 , c = 7
//*****De 6
#include <iostream.h>
void main()
{
cout<<endl<<"de 6: \n";
int a=b=c=7;
do {
a++;
b--;
c=2*b-a;
}while(c>=0);
cout<<"a = "<<a<<" ; b = "<<b<<" ; c = "<<c;
}//end main6
KQ: a = 10 , b = 4 , c = -2
GV.TVN Bài Tập – Đọc Chương Trình C P.2
//*****De 7
#include <iostream.h>
int a=10; b=a*3; i=3;
do {
if(a<b) a=a+i;
else b=a-b;
i*=2;
}while(2*i<a);
cout<<"i = "<<i<<" ; a = "<<a<<" ; b = "<<b;
}//end main9
KQ: i = 8 , a = 10 , b = 30
//*****De 10
#include <iostream.h>
void main()
{
cout<<endl<<"de 10: \n";
int a=10; b=a*2, c;
while(b-a>0)
{
if(b<23) c=b*2+1;
else b=c-a-2;
a=c-(++b);
}
cout<<"a = "<<a<<" ; b = "<<b<<" ; c = "<<c;
}//end main10
KQ: a = 23 , b = 22 , c = 45
//*****De 11
#include <iostream.h>
void x11(int m, int &n);
void main()
{
cout<<endl<<"de 11: \n";
}//end main12
void y12(int m, int &n)
{
if(m==20||n==20) n=m/2;
else m=n*2;
}//end y12
KQ: 1. a = 22 , b = 20
2. a = 22 , b = 11
GV.TVN Bài Tập – Đọc Chương Trình C P.3
//*****De 13
#include <iostream.h>
void z13(int &m, int n);
void main()
{
cout<<endl<<"de 13: \n";
int i, a=10; b=2*(a++);
for(i=0; i<a; i+=3) a-=i;
cout<<"1. a = "<<a<<" ; b = "<<b;
z13(b,a);
cout<<endl<<"2. a = "<<a<<" ; b = "<<b;
}//end main13
void z13(int &m, int n)
{
if(m%2!=0&&n%2!=0) n=m*2;
else m=n*2;
}//end z13
KQ: 1. a = 2 , b = 20
2. a = 2 , b = 4
//*****De 14
#include <iostream.h>
void t15(int &m, int n)
{
if(m*n>400) m=n*2;
n=m+60;
}//end t15
KQ: 1. a = 21 , b = 20
2. a = 21 , b = 42
//*****De 16
#include <iostream.h>
void z16(int &m, int n);
void main()
{
cout<<endl<<"de 16: \n";
int a=10; b=a/4;
if(b+5>a) a=b*2;
else b=b+a;
cout<<"1. a = "<<a<<" ; b = "<<b;
z16(a,b);
cout<<endl<<"3. a = "<<a<<" ; b = "<<b;
}//end main16
void z16(int &m, int n)
{
while(2*n-m>0) n-=5; m=n+m;
cout<<endl<<"2. m = "<<m<<" ; n = "<<n;
}//end z16
KQ: 1. a = 10 , b = 12
2. m = 12 , n = 2
2. a = 12 , b = 12
//*****De 17
#include <iostream.h>
for(i=10; a<b+16; i--) a+=i;
cout<<"1. a = "<<a<<" ; c = "<<c;
c=x18(b,a);
cout<<endl<<"3. a = "<<a<<" ; c = "<<c;
}//end main 18
int x18(int m, int &n)
{
if((m+n)%3==0) m=n+2;
else n=m+2;
cout<<endl<<"2. m = "<<m<<" ; n = "<<n;
return m+n;
}//end x18
KQ: 1. a = 29 , c = 15
2. m = 5 , n = 7
2. a = 7 , c = 12
//***** De 19
#include <iostream.h>
int y19(int&, int);
void main()
{
cout<<endl<<"de 19: \n";
int i, a=10; b=a*2, c=a+b;
for(i=5; a<b; i++) a+=i;
cout<<"1. a = "<<a<<" ; c = "<<c;
c=y19(a,b);
cout<<endl<<"3. a = "<<a<<" ; c = "<<c;
}//end main19
int y19(int &m, int n)
{
if(m*n<=420) m=n*2;