B
ài
t
âp
1
: nh
p xâu ký t , d m s t b t d u b ng ‘h’ ho c k t thúc
b
ng ’h’
Vd:
“
_ _Kha
nh h
oc
_ _ _
h
an
h
rat
h
ay
xxxh
”
=>4 t
#include <iostream.h>
int dem_tu(char s[]){
int i=0, d=0, b;
while(s[i]!='
\
0'){
while(s[i]==' ' && s[i]!='
\
0')i++;
b=i;
while(s[i]!=' ' && s[i]!='
\
0')i++;
if(s[b]=='h' || s[i
-
1]=='h')d++;
}
return d;
}
void main(){
char st[100];
cout<<"Nhap xau: ";
cin.getline(st,100);
cout<<"so tu bd or kt voi 'h' = "
<<dem_tu(st);
}
Bt2: nh
p xâu ký t ,
d m s t có ch a kí
t
‘h’
Vd: “
h
oi k
h
uye
n hh
oc”
Có
3 t
#include <iostream.h>
int dem_tu(char s[]){
int i=0, d=0, b;
while(s[i]!=0){
while(s[i]==' ' && s[i]!=0)i++;
b=i;
while(s[i]!=' ' && s[i]!=0)i++;
int x=0;
for(int j=b;j<i;j++)
if(s[j]=='h')
{d++; x=1; break;}
if(x){
cout<<"tu thu "<<d<<": ";
for(int j=b;j<i;j++)cout<<s[j];
cout<<endl;
}
}
cout<<endl;
return d;
}
void main(){
char st[100];
cout<<"Nhap xau: ";
cin.getline(st,100);
cout<<"so tu co chua ki tu 'h' = "
<<dem_tu(st);
}
Bt3:
nh
p xâu, t
ìm 1 xâu con
d i x ng d
ài nh
t.
Phân tích:
-
nh
p xâu
-
hàm ki
m tra xâu d i x ng
-v i m i d d
ài I (n
-
>1)
L y dc t t c các xâu con d d
ài I, n
u xâu n
ày dx th
ì in nó ra, k
t thúc
#include <iostream.h>
int length(char *s){
int d=0;
while(s[d]!='
\
0')d++;
return d;
}
int kt_dx(char *s){
int i=0, k=length(s)
-
1;
while(i<k && s[i]==s[k]){i++;k ;}
if(i<k)return 0;
return 1;
}
void main(){
char s[100],t[100];
cout<<"nhap xau:";
cin.getline(s,100);
int n=length(s);
for(int i=n;i>1;i
)
for(int j=1; j<=n
-
i+1; j++){
for(int k=0;k<i;k++)
t[k]=s[k+j
-
1];
t[i]='
\
0';
if(kt_dx(t)){
cout<<"Xau con do dai "<<i
<<" :"<<t;
return;
}
}
cout<<"khong co xau con doi xung dai hon 1";
}
Bt4(m
ng) Nh p m ng n ph n t s nguy
ên, tìm
do
n d
ài nh
t (liên t c)
trong m
ng tang d n
#include <iostream.h>
int kt_mangtang(int a[],int p1,int p2){
for(int i=p1; i<p2; i++)
if(a[i]>a[i+1])return 0;
return 1;
}
void NhapMang(int a[], int &n){
cout<<"Nhap so luong phan tu:";
cin>>n;
for(int i=0; i<n; i++){
cout<<"A["<<i<<"]=";
cin>>a[i];
}
}
void main(){
int a[100],n;
NhapMang(a,n);
for(int i=n; i>1; i
)
for(int j=1; j<=n
-
i+1; j++)
if(kt_mangtang(a,j
-
1,(j
-
1)+i
-
1)){
cout<<"Doan dai nhat "<<i
<<" phan tu tang dan: ";
for(int k=j
-
1; k<=i+j
-
2; k++)
cout<<a[k]<<' ';
return;
}
cout<<"Khong tim thay";
}
Bài
5: Nh
p s nguy
ên N t
b
àn phím.
Li
t k
ê ra màn hình theo th
t tang d n các
phân s
t i gi n d ng a/b v i 1=a=b=N
#include <iostream.h>
void main(){
int a,b,va,vb,n;
cout<<"Nhap n="; cin>>n;
float max=0,min,t;
do{
min=2;
for(a=1; a<=n; a++
)
for(b=a; b<=n; b++){
t=(float)a/b;
if(t<min && t>max){
va=a; vb=b; min=t;
}
}
cout<<va<<'/'<<vb<<" ";
max=min;
}while(max<1);
}
Bài 6:
nh
p m ng n ph n t s th c, in ra các ph n t l n hon tbc c a m ng
theo th
t tang d n
#include <iostream.h>
void NhapMang(int a[], int &n){
cout<<"Nhap so luong phan tu:";
cin>>n;
for(int i=0; i<n; i++){
cout<<"A["<<i<<"]=";
cin>>a[i];
}
}
void LietKe(int a[], int n){
cout<<"Liet ke tang dan: ";
for(int i=0; i<n; i++)
cout<<a[i]<<" ";
cout<<endl;
}
void SapXep(int a[], int n){
for(int i=0; i<n
-
1; i++)
for(int j=i+1; j<n; j++)
if(a[i]>a[j]){
int tg=a[i];
a[i]=a[j];
a[j]=tg;
}
}
void main(){
int a[100], n;
NhapMang(a, n);
SapXep(a, n);
LietKe(a, n)
;
}
G i v
ào s
ti n t
Lãi su t h
àng tháng q
Tính s
tháng d c v n v
à lãi g
p dôi s ti n g i
M i tháng cho khách h
àng rút ti
n l
ãi, v
n tính l
ãi nh
u k rút ti
n
#include <iostream.h>
void main(){
float t,q,tr=0,t0,lai;
int n,i;
cout<<"nhap so tien gui: ";
cin>>t;
t0=t;
cout<<"nhap lai suat: "; cin>>q;
cout<<"nhap ky han: "; cin>>n;
for(i=1; i<=n;i++){
lai=t*q;
cout<<"rut "<<lai
<<" => lai suat="
<<lai/(t0
-
tr)<<endl;
tr+=lai;
t=t+lai;
}
cout<<"tong tien rut="<<tr<<endl
<<"ca von + lai="<<t0+tr;
}
Nh
p 2 phân s
In ra t
ng 2 phân s dó d ng t i gi n
2 4
2 8
3 4
A,b,c,d
a/b+c/d=X/Y
voi x=a*d+b*c
y=b*d
Bài toán con: nh
p v
ào 2 s
x,y
In ra phân s
t i gi n c a x/y
Con2: tìm uscln(x,y)=z
A/b+c/d=x/y
x,y =>z
x/y=(x/z)/(y/z)
bt1:
Ki m tr
a s
nguy
ên N có ph
i l
à s
chính ph
uong?
#include <iostream.h>
#include <math.h>
void main()
{ int n;
cout<<"Nhap n: ";
cin>>n;
float y=sqrt(n);
if((int)y==y)
cout<<n<<" la so chinh phuong";
else
cout<<n<<" KHONG la so chinh phuong";
}
Bt2
:
Li
t k
ê các s
cp t 1 d n N, v i N nh p t b
àn phím
-
cách làm
Ý t
u ng :
Sau khi có n (nh
p n)
Dùng vòng l
p quét h t các s m
à d
u b
ài y/c
For(i=1;i<=n;i++)
M
i l n l p n u s dang quét
là scp
thì in
nó
ra
for(i=1; i<=n; i++){
y=sqrt(i)
if((int)y==
y) cout<<i<<
”,
”;
}
#include <iostream.h>
#include <math.h>
void main()
{ int i,n;
cout<<"Nhap n: ";
cin>>n;
for(i=1; i<=n; i++){
float y=sqrt(i);
if((int)y==y) cout<<i<<" ";
}
}
Bt2.1
:
Li
t k
ê/Tính t
ng
/TBC
các s
cp t 1 d n N, v i N nh p t
bàn
phím
*Ý t
u ng:
Sau khi có n (nh
p n)
Dùng vòng l
p quét h t các s m
à d
u b
ài y/c
For(i=1;i<=n;i++)
M
i l n l p n u s dang quét
là scp
thì C
ng
nó
vào túi tham
Khai báo bi
n ch a t ng, kh i t o b ng 0
T NG
#include <iostream.h>
#include <math.h>
void main()
{ int i,n,s=0;
cout<<"Nhap n: ";
cin>>n;
for(i=1; i<=n; i++){
float y=sqrt(i);
if((int)y==y) s+=i;
}
cout<<"TOng cac so cp="<<s;
}
TBC
#include <iostream.h>
#include <math.h>
void main()
{ int i,n,s=0,d=0;
cout<<"Nhap n: ";
cin>>n;
for(i=1; i<=n; i++){
float y=sqrt(i);
if((int)y==y){s+=i; d++;}
}
cout<<" TOng cac so cp="<<s<<endl;
cout<<"So luong cac so cp="<<d<<endl;
cout<<" TBC cac so cp="<<s/(float)d;
}
Bt3:
m
t ngu i g i s ti n T v
ào ngân hàng v
i
lãi su
t s%/1 tháng. H i
sau bao nhiêu tháng ngu
i dó rút h t ti n s du c s ti n g p 10 l n s
ti
n g i ban d u?
Ð u v
ào:
T, s
Ð u ra: s tháng
mà t
ng rút b ng 10T
Sau 1 tháng dc:
t ng rút=g c + l
ãi=
T+T*s
n u ch
ua d
t 10T th
ì ch
th
êm 1 tháng