Thứ Bảy, 15 tháng 3, 2014

Tài liệu bai tap lap trinh c doc


LINK DOWNLOAD MIỄN PHÍ TÀI LIỆU "Tài liệu bai tap lap trinh c doc": http://123doc.vn/document/1040462-tai-lieu-bai-tap-lap-trinh-c-doc.htm


dòng cu i cùng c a c ba c t là t ng c a các ph n t trong c t.ố ủ ả ộ ỏ ủ ầ ử ộ
Bài 34. Cho F là m t s th c l n h n 2, và ộ ố ự ớ ơ , v i x là m t s nguyên d ng b t kỳ. Hãyớ ộ ố ươ ấ
xây d ng m t hàm đ tìm giá tr ự ộ ể ị l n nh tớ ấ c a n sao cho S<=F, in ra màn hình các giá tr c aủ ị ủ
x, F, S và n. Vi t m t ch ng trình đ nh p vào t bàn phím s th c F, s nguyên d ng x vàế ộ ươ ể ậ ừ ố ự ố ươ
s d ng hàm nói trên đ i v i các giá tr đã nh p đ in k t qu ra màn hình.ử ụ ố ớ ị ậ ể ế ả
Bài 35. Cho F là m t s th c l n h n 2, và ộ ố ự ớ ơ , v i x là m t s nguyên d ng b t kỳ. Hãyớ ộ ố ươ ấ
xây d ng m t hàm đ tìm giá tr ự ộ ể ị nh nh tỏ ấ c a n sao cho S<=F, in ra màn hình các giá tr c aủ ị ủ
x, F, S và n. Vi t m t ch ng trình đ nh p vào t bàn phím s th c F, s nguyên d ng x vàế ộ ươ ể ậ ừ ố ự ố ươ
s d ng hàm nói trên đ i v i các giá tr đã nh p đ in k t qu ra màn hình.ử ụ ố ớ ị ậ ể ế ả
Bài 36. Hãy xây d ng m t hàm đ nh p t bán phím m t m ng cac s th c. Vi t ch ngự ộ ể ậ ừ ộ ả ố ự ế ươ
trình s d ng hàm nói trên đ nh p s li u cho hai m ng s th c cùng có n ph n t , in ra mànử ụ ể ậ ố ệ ả ố ự ầ ử
hình ba c t song song, hai c t đ u là hai m ng đã nh p, c t th ba là tích c a hai c t đ u,ộ ộ ầ ả ậ ộ ứ ủ ộ ầ
dòng cu i cùng c a c ba c t là t ng các ph n t trong c t.ỗ ủ ả ộ ổ ầ ử ộ
Bài 37. Vi t m t ch ng trình đ nh p s báo danh, h tên và đi m thi ba môn Toán, Lý, Hóaế ộ ươ ể ậ ố ọ ể
c a n thí sinh, sau đó ghi các s li u này lên m t t p mode văn b n.ủ ố ệ ộ ệ ở ả
Bài 38. Hãy xây d ng m t hàm in ra mnaf hình n i dung c a m t t p văn b n b t kỳ theoự ộ ộ ủ ộ ệ ả ấ
d ng trang màn hình có đánh s trang. Sau đó, vi t m t ch ng trình đ nh p t bàn phím tênạ ố ế ộ ươ ể ậ ừ
c a m t t p văn b n và s d ng hàm nói trên đ in n i dung c a t p này ra màn hình.ủ ộ ệ ả ử ụ ể ộ ủ ệ
Bài 39. Hãy xây d ng m t hàm in ra mnafh ình n i dung c a m t t p văn b n b t kỳ theoự ộ ộ ủ ộ ệ ả ấ
d ng trang màn hình, dòng đ u c a m i trang có đánh s trang góc bên ph i và tên t pạ ở ầ ủ ỗ ố ở ả ệ
góc trái. Sau đó, vi t m t ch ng trình đ nh p t bàn phím tên c a m t t p văn b n và sế ộ ươ ể ậ ừ ủ ộ ệ ả ử
d ng hàm nói trên đ in n i dung c a t p này ra màn hình.ụ ể ộ ủ ệ
Bài 40. Cho c u trúcấ
Code:
struc thisinh{
int sbd; //S báo danhố
char hoten[25]; //H và tênọ
float m1,m2,m3l //Đi m ba môn thiể
float tong; //T ng đi m ba mônổ ể
} danhsach[100];
Vi t ch ng trình (có s d ng các hàm) đ thêm và b t các thí sinh theo th t gi m d n c aế ươ ử ụ ể ớ ứ ự ả ầ ủ
t ng đi m, và in ra mnaf hình danh sách đã s p.ổ ể ắ
Trích:
tuananhk43
Bài 1. Vi t ch ng trình nh p t bàn phím n s nguyên d ng nh h n 100, in ra màn hình haiế ươ ậ ừ ố ươ ỏ ơ
c t song song, m t c t là các s , còn c t kia là t ng c a các ch s t ng ng c t th nh t.ộ ộ ộ ố ộ ổ ủ ữ ố ươ ứ ở ộ ứ ấ
Tìm và in ra s có t ng c a các ch s là l n nh t, n u có nhi u h n m t s nh v y thì in số ổ ủ ữ ố ớ ấ ế ề ơ ộ ố ư ậ ố
đ u tiên.ầ
Code:
#include <iostream.h>
#include<conio.h>
#include<iomanip.h>
//Ham tinh tong cac chu so
//Vd n=15 thi tra ve gia tri la 6
int tong(int n){
int a,b;
a=(int)n/10;
b=n-a*10;
return a+b;
}
//Ham nhap cac gia tri cho mot mang
void nhap(int *a,int n){
for (int i=0;i<n;i++){
cout<<"Nhap a["<<i<<"]=";
cin>>a[i];
}
}
//Ham in cac gia tri thanh hai cot
void in(int *a,int n){
int tong1=0, tong2=0;
int max; //Dung de tinh gia tri lon nhat cua tong
int val;
cout<<setw(15)<<"STT"<<setw(15)<<"Tong"<<"\n";
max=tong(a[1]);
for(int i=0;i<n;i++){
cout<<setw(15)<<a[i]<<setw(15)<<tong(a[i])<<"\n";
if (max<tong(a[i]))
{
max=tong(a[i]);
val=a[i];
}
}
cout<<" \n";
cout<<setw(15)<<val<<setw(15)<<max<<"\n";
}
int main(){
//clrscr();
int n;
int a[100];
cout<<"Nhap N="; cin>>n;
nhap(a,n);
in(a,n);
//getch();
}

Đáp án Bài 2. M t ng i g i ti t ki m a đ ng v i lãi su t s% m t tháng (tính lãi hàng tháng).ộ ườ ử ế ệ ồ ớ ấ ộ
Vi t m t ch ng trình tính và in ra màn hình hai c t song song, c t th nh t là s tháng đãệ ộ ươ ộ ộ ứ ấ ố
g i, c t th hai t ng s ti n (c v n và lãi) ng v i s tháng c t th nh t cho m t kho ngử ộ ứ ổ ố ề ả ố ứ ớ ố ở ộ ứ ấ ộ ả
th i gian t 1 đ n t tháng, v i a, s, t đ c nh p t bàn phím.ờ ừ ế ớ ượ ậ ừ
Code:
#include <iostream.h>
#include <iomanip.h>
void main(){
float a, s, kq;
int t;
cout<<"nhap so tien gui ban dau: "; cin>>a;
cout<<"nhap lai suat hang thang: "; cin>>s;
cout<<"nhap so thang tiet kiem : "; cin>>t;
kq = a;
cout<<"+ + +"<<endl
<<"| T | Tien von va lai |"<<endl
<<"+ + +"<<endl;
for(int i=1; i<=t; i++){
kq *= (1+s/100);
cout<<"|"<<setw(2)<<i<<" |"
<<setw(17)<<setprecision(2)<<setiosflags(ios::showpoint |
ios::fixed)
<<kq
<<"|"<<endl;
}
cout<<"+ + +"<<endl;
}
khi nh p lãi xu t, n u lãi xu t là 0,7 % / tháng thì hãy nh p 0.7 (ch không ph i nh p làậ ấ ế ấ ậ ứ ả ậ
0.007)
khi đó sau m i tháng ti n lãi và v n s = ti n tháng tr c + ti n tháng tr c x lãi su tỗ ề ố ẽ ề ướ ề ướ ấ
đó chính là công th c trên: kq *= (1 + s/100)ứ
Bài 3. M t ng i g i ti t ki m à đ ng v i lãi su t là s% m t tháng trong kỳ h n 6 tháng (6ộ ườ ử ế ệ ồ ớ ấ ộ ạ
tháng tính lãi m t l n). Vi t ch ng trình tính và in ra màn hình hai c t song song, c t th nh tộ ầ ế ươ ộ ộ ứ ấ
là s tháng đã g i, c t th hai là t ng ti n (c v n và lãi) ng v i s tháng c t th nh t choố ử ộ ứ ổ ề ả ố ứ ớ ố ở ộ ứ ấ
m t kho ng th i gian t 6 tháng đ n t tháng, v i a, s, và t đ c nh p t bàn phím. (Bi t r ngộ ả ờ ừ ế ớ ượ ậ ừ ế ằ
n u lĩnh không ch n kỳ nào thì không đ c tính lãi kỳ y).ế ắ ượ ấ
Code:
#include <iostream.h>
#include <iomanip.h>
void main(){
float a, s, kq;
int t;
cout<<"nhap so tien gui ban dau: "; cin>>a;
cout<<"nhap lai suat hang thang: "; cin>>s;
cout<<"nhap so thang tiet kiem : "; cin>>t;
kq = a;
cout<<"+ + +"<<endl
<<"| t | Tien von va lai |"<<endl
<<"+ + +"<<endl;
for(int i=1; i<=t; i++){
if(i%6==0)
for(int k=0;k<6;k++)kq *= (1+s/100);
cout<<"|"<<setw(2)<<i<<" |"
<<setw(17)<<setprecision(2)<<setiosflags(ios::showpoint |
ios::fixed)
<<kq
<<"|"<<endl;
}
cout<<"+ + +"<<endl;
}
bài này gi ng bài 2, chú ý tính lãi sau m i 6 thángố ỗ
Đáp án Bài 4. Cho x là m t s th c, hãy xây d ng hàm tính và in ra màn hình hai c t songộ ố ự ự ộ
song, c t th nh t là giá tr c a đ i s , c t th hai là giá tr c a hàm f ng v i đ i s c tộ ứ ấ ị ủ ố ố ộ ứ ị ủ ứ ớ ố ố ở ộ
th nh t:ứ ấ
Sau đó, vi t m t ch ng trình nh p t bán phím m t m ng g m n s th c, và g i hàm đã l pế ộ ươ ạ ừ ộ ả ồ ố ự ọ ậ
đ c trên v i đ i s là các s v a nh p.ượ ở ớ ố ố ố ừ ậ
Code:
#include <iostream.h>
#include <iomanip.h>
#include <math.h>
const float PI=4.1415;
//Ham nhap mang cac so thuc
void nhapMang(float *a,char *name, int n){
for (int i=0; i<n;i++)
{
cout<<name<<"["<<i+1<<"]=";
cin>>a[i];
}
}
//Ham tinh gia tri cua ham F theo cong thuc
//Neu X<=0 thi F(x)=0
//Neu 0<X<=2 thi F(x)=x*x-x
//Neu x>2 thi F(X)=(x*x-sin(x*x*PI))
float f(float x)
{
if (x<=0)
return 0;
else
if (x<=2)
return float(pow(x,2)-x);
else
return float(pow(x,2)-sin(pow(x,2)*PI));
}
//Than ham main
void main(){
float a[10], x;
int n;
cout<<"Nhap so phan tu N="; cin>>n;
//Goi ham nhap mang
nhapMang(a,"a",n);
//Dinh dang hien thi so thuc
cout<<setiosflags(ios::showpoint|ios::fixed);
cout<<setprecision(2);
//In gia tri cua mang tuong ung voi gia tri ham F(X)
//Hien thi hai cot song song
cout<<"+ + +"<<endl
<<"| X | F(X) |"<<endl
<<"+ + +"<<endl;
for(int i=0; i<n; i++)
{
cout<<"|"<<setw(10)<<a[i]<<" |";
cout<<setw(17)<<f(a[i])<<"|"<<endl;
}
cout<<"+ + +"<<endl;
}
Bài 5. Vi t ch ng trình tính và in ra màn hình s ti n đi n tháng 10/99 c a n khách hàng theoế ươ ố ề ệ ủ
các ch s trên đ ng h đi n c a tháng 9 và c a tháng 10 đ c nh p vào t bàn phím (ph iỉ ố ồ ồ ệ ủ ủ ượ ậ ừ ả
ki m tra đ đ m b o r ng ch s c a tháng sau ph i l n h n ch s c a các tháng tr c).ể ể ả ả ằ ỉ ố ủ ả ớ ơ ỉ ố ủ ướ
Bi t r ng: 50 s đ u ti n giá 500 đ ng/s , 100 s ti p theo giá 800 đ ng/s , 100 s ti p theoế ằ ố ầ ề ồ ố ố ế ồ ố ố ế
n a giá 1000 đ ng/s , 100 s ti p theo n a giá 1200 đ ng/s , và t s th 351 tr đi giá 1500ữ ồ ố ố ế ữ ồ ố ừ ố ứ ở
đ ng/s .ồ ố
S a đ u bài 1 tý cho đ n gi nử ầ ơ ả : nh p s l ng đi n tiêu th , tính s ti n ph i tr theo đ nậ ố ượ ệ ụ ố ề ả ả ơ
giá trên (ch a có thu VAT), VAT =10%ư ế
Code:
/*đ n giá:ơ
t s : đ n giáừ ố ơ
0-50: 500
51-150: 800
151-250: 1000
251-351: 1200
351 - : 1500 */
#include <iostream.h>
#include <iomanip.h>
void main(){
int n;
float t=0;
cout<<"nhap luong dien tieu thu: ";
cin>>n;
if(n>350)t+=(n-=350)*1500.0;
if(n>250)t+=(n-=250)*1200.0;
if(n>150)t+=(n-=150)*1000.0;
if(n> 50)t+=(n-= 50)* 800.0;
if(n> 0)t+=(n )* 500.0;
cout<<"tien dien: "
<<setprecision(0)
<<setiosflags(ios::fixed)
<<(t*1.1);
}
Gi n u nh p 2 ch s thì tr nó đi cho nhau thì s ra l ng đi n tiêu thờ ế ậ ỉ ố ừ ẽ ượ ệ ụ
đ ng tác ki m tra s sau l n h n s tr c thi t nghĩ r t đ n gi n, đ các b n sv t làm ộ ể ố ớ ơ ố ướ ế ấ ơ ả ể ạ ự
Khi h c đ n ph n m ng, chúng ta s nh p s ng i t ng ng là s ph n t c a m ng, sauọ ế ầ ả ẽ ậ ố ườ ươ ứ ố ầ ử ủ ả
đó v n d ng bài này đ tính ti n đi n cho t ng ng i (t ng giá tr trong m ng)ậ ụ ể ề ệ ừ ườ ừ ị ả
chú ý: t là s ti n ph i tr , t*1.1 là s ti n đã có thu 10%ố ề ả ả ố ề ế
Bài 7. Vi t ch ng trình gi i ph ng trình b c hai ax2+bx+c=0 v i a, b, c b t kỳ đ c nh pế ươ ả ươ ậ ớ ấ ượ ậ
vào t bàn phím. In ra màn hình ph ng trình b c hai v i các h s đã nh p, giá tr c a deltaừ ươ ậ ớ ệ ố ậ ị ủ
và các nghi m th c c a nó (n u c ), ng cij l i thì in là không có nghi m th c.ệ ứ ủ ế ố ươ ạ ệ ự
chú ý: n u a=0 thì s thành pt b c nh t, nên ti n đây đ a luôn bài gpt b1ế ẽ ậ ấ ệ ư
Code:
#include <iostream.h>
#include <iomanip.h>
void main(void)
{
float a,b;
cout<<"Nhap 2 he so cua pt bac nhat:";
cin>>a>>b;
if(a!=0)
cout<<"pt co 1 nghiem thuc x="<<(-b/a);
else
if(b==0)
cout<<"pt lay nghiem nao cung dc";
else
cout<<"pt vo nghiem";
}
gi n u a khác 0 thì có pt b c 2:ờ ế ậ
Code:
#include <iostream.h>
#include <iomanip.h>
#include <math.h>
void main(void)
{
float a,b,c,d,x1,x2;
cout<<"nhap 3 hs cua ptb2: ";
cin>>a>>b>>c;
d=b*b-4*a*c;
if(d>=0){
x1=(-b-sqrt(d))/(2*a);
x1=(-b+sqrt(d))/(2*a);
cout<<"pt co 2 nghiem thuc"<<endl
<<"nghiem thuc 1="<<x1<<endl
<<"nghiem thuc 2="<<x2;
}
else{
cout<<"pt k co nghiem thuc"<<endl
<<"pt co 2 nghiem phuc lien hop"<<endl;
float thuc,ao;
thuc=-b/2/a;
ao=sqrt(-d)/2/a;
cout<<"nghiem ao 1="<<thuc<<"-i"<<ao<<endl;
<<"nghiem ao 2="<<thuc<<"+i"<<ao<<endl;
}
}
Các b n hãy v n d ng ki n th c c a mình đ k t h p thành 1 bài hoàn ch nh đ theo đúngạ ậ ụ ế ứ ủ ể ế ợ ỉ ủ
nghĩa v i a, b, c b t kỳ ớ ấ
Bài 8. Năm 1999, dân s n c ta là 76 tri u ng i, t l tăng t nhiên là k% m t năm. L pố ướ ệ ườ ỷ ệ ự ộ ậ
m t ch ng trình in ra màn hình hai c t song song, c t th nh t là năm, c t th hai là dân sộ ươ ộ ộ ứ ấ ộ ứ ố
c a năm t ng ng c t m t cho đ n khi dân s tăng s l n so v i năm 1999. Các s k và sủ ươ ứ ở ộ ộ ế ố ầ ớ ố
đ c nh p vào t bàn phím.ượ ậ ừ
Gi i:ả
Code:
#include <iostream.h>
#include <iomanip.h>
#include <math.h>
#include <conio.h>
void main(void)
{
clrscr();
int k; //% tang dan so hang nam
float s;//So lan tang
cout<<"Nhap % tang K="; cin>>k;
cout<<"Nhap so lan tang S="; cin>>s;
long dansocu=76000000,dansomoi;
dansomoi=dansocu;
int nam=1999;
//Thiet lap dinh dang
cout<<setiosflags(ios::showpoint|ios::fixed);
cout<<setprecision(2);
cout<<"\n ";
cout<<"\n"<<setw(20)<<"NAM"<<setw(20)<<"DAN SO";
cout<<"\n ";
while(dansomoi<=s*dansocu)
{
cout<<"\n"<<setw(20)<<nam<<setw(20)<<dansomoi;
dansomoi=dansomoi+dansomoi*((float)k/100);
nam++;
}
cout<<"\n \n";
getch();
}
Bài 10. Xây d ng m t hàm s p x p theo th t tăng d n m t m ng g m n s th c. Vi tự ộ ắ ế ứ ự ầ ộ ả ồ ố ự ế
ch ng trình đ nh p n s th c t bàn phím, s d ng hàm s p x p nói trên, và in ra màn hìnhươ ể ậ ố ự ừ ử ụ ắ ế
hai c t song song, m t c t là m ng ch a s p x p, m t c t là m ng đã đ c s p x p.ộ ộ ộ ả ư ắ ế ộ ộ ả ượ ắ ế
Gi i:ả
Code:
#include <iostream.h>
#include <iomanip.h>
#include <math.h>
#include <conio.h>
void NhapMang(float a[],float b[],int n)
{
cout<<"\nNhap mang\n";
for (int i=0;i<n;i++)
{
cout<<"a["<<i<<"]=";
cin>>a[i];
b[i]=a[i];
}
}
void InMang(float a[],float b[],int n)
{
cout<<setw(10)<<"TT";
cout<<setw(20)<<"Mang chua sap xep";
cout<<setw(20)<<"Mang da sap xep";
cout<<"\n ";
for (int i=0;i<n;i++)
{
cout<<endl<<setw(10)<<i+1<<setw(20)<<a[i]<<setw(20)<<b[i];
}
cout<<"\n \n";
}
void SapXep(float a[],int n)
{
//Sap xep tang dan
for(int i=0;i<n-1;i++)
for(int j=i+1;j<n;j++)
if (a[i]>a[j])
{
float tg;
tg=a[i]; a[i]=a[j]; a[j]=tg;
}
}
void main(void)
{
clrscr();
float a[100],b[100];
int n;
cout<<"Nhap N=";
cin>>n;
NhapMang(a,b,n);
SapXep(b,n);
//Thiet lap dinh dang
cout<<setiosflags(ios::showpoint|ios::fixed);
cout<<setprecision(2);
InMang(a,b,n);
getch();
}
Bài 11. Xây d ng m t hàm s p x p thep th t gi m d n m t m ng g m n s th c. Vi tự ộ ắ ế ứ ự ả ầ ộ ả ồ ố ự ế
ch ng trình đ nh p n s th c t bàn phím, s d ng hàm s p x p nói trên, và in ra màn hìnhươ ể ậ ố ự ừ ử ụ ắ ế
hai c t song song, m t c t là m ng ch a s p x p, m t c t là m ng đã đ c s p x p.ộ ộ ộ ả ư ắ ế ộ ộ ả ượ ắ ế
Gi i:ả
Code:
#include <iostream.h>
#include <iomanip.h>
#include <math.h>
#include <conio.h>
void NhapMang(float a[],float b[],int n)
{
cout<<"\nNhap mang\n";
for (int i=0;i<n;i++)
{
cout<<"a["<<i<<"]=";
cin>>a[i];
b[i]=a[i];
}
}
void InMang(float a[],float b[],int n)
{
cout<<setw(10)<<"TT";
cout<<setw(20)<<"Mang chua sap xep";
cout<<setw(20)<<"Mang da sap xep";
cout<<"\n ";
for (int i=0;i<n;i++)
{
cout<<endl<<setw(10)<<i+1<<setw(20)<<a[i]<<setw(20)<<b[i];
}
cout<<"\n \n";
}
void SapXep(float a[],int n)
{
//Sap xep giam dan
for(int i=0;i<n-1;i++)
for(int j=i+1;j<n;j++)
if (a[i]<a[j])
{
float tg;
tg=a[i]; a[i]=a[j]; a[j]=tg;
}
}
void main(void)
{
//clrscr();
float a[100],b[100];
int n;
cout<<"Nhap N=";
cin>>n;
NhapMang(a,b,n);
SapXep(b,n);
//Thiet lap dinh dang
cout<<setiosflags(ios::showpoint|ios::fixed);
cout<<setprecision(2);
InMang(a,b,n);
//getch();
}
Bài 12. Cho F là m t s th c l n h n 2, và S=1/2+1/3+…+1/n. Hãy xây d ng m t hàm độ ố ự ớ ơ ự ộ ể
tìm giá tr l n nh t c a n sao cho S<=F. Vi t m t ch ng trình đ nh p vào t bàn phím m sị ớ ấ ủ ế ộ ươ ể ậ ừ ố
th c Fi, s d ng hàm nói trên đ i v i các hàm Fi đã nh p và in ra màn hình thành ba c t songự ử ụ ố ớ ậ ộ
song: các giá tr c a Fi, n, và S t ng ng.ị ủ ươ ứ
Gi i:ả
Code:
#include <iostream.h>
#include <iomanip.h>
#include <math.h>
#include <conio.h>
int max(double f, double &s)
{
int i=1;

Không có nhận xét nào:

Đăng nhận xét