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 . 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 . 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. 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