Tải bản đầy đủ (.pdf) (10 trang)

Lập trình C- Bài tập 14 doc

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (47.54 KB, 10 trang )

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”


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

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


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

×