Tải bản đầy đủ (.docx) (64 trang)

Bài tập lập trình shell căn bản

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 (152.04 KB, 64 trang )

BÀI TẬP CHƯƠNG 1
2. Viết chương trình nhập vào cạnh của hình vuông, in ra chu vi và diện tích.

#include<cstdlib>
#include<iostream>
using namespace std;
main()
{
int canh;
cout<<"Nhap vao canh hinh vuong";
cin>>canh;
cout<<"chu vi="<cout<<"dien tich ="<system("pause");
}
3/VCT nhap vao 4 gtri lan luot la so thuc,nguyen,nguyen dai&ky tu.In ra man hinh cac gia tri nay
#include<cstdlib>
#include<iostream>
using namespace std;
main()
{
float st;
int sn;
long int ngdai;
char kt;
cout<<"Nhap vao 4 gia tri la so thuc,nguyen,nguyen dai,ky tu:";
cin>>st>>sn>>ngdai>>kt;
cout<<"so thuc="<cout<<"so nguyen ="<cout<<"nguyen dai ="<cout<<"ky tu ="<


system("pause");
}
4/vct nhap vao 1 ktu,in ra ktu do&ma ASCII cua ktu do.
#include<cstdlib>


#include<iostream>
using namespace std;
main()
{
char kytu;
cout<<"Nhap vao 1 ky tu:";
cin>>kytu;
cout<<"Ma ASCII cua ky tu la"<<(int)kytu<system("pause");
}
5/vct nhap vao 3 so thuc a,b,c in ra man hinh hang chu pt co dang ax^2+bx+c=0.trog do cac gtri a,b,c
chi in 2 so le(vd voi a=5.141,b=-2,c=0.8 in ra 5.14-2.00x+0.80)
#include<cstdlib>
#include<iostream>
#include<iomanip>
using namespace std;
main()
{
float a,b,c;
cout<<"nhap vao ba so thuc a,b,c:"<cin>>a>>b>>c;
cout<}
6. Viết chương trình in ra tổng, tích, hiệu và thương của 2 số thực được nhập vào từ bàn phím.

#include<cstdlib>
#include<iostream>
using namespace std;
main()
{
float a,b,tong,hieu,tich,thuong;
cout<<"Nhap vao a:";


cin>>a;
cout<<"Nhap vao b:";
cin>>b;
tong=a+b;
hieu=a-b;
tich=a*b;
thuong=a/b;
cout<<"Tong:"<cout<<"Hieu:"<cout<<"Tich:"<cout<<"Thuong:"<system("pause");
}
7. Viết chương trình in ra trung bình cộng, trung bình nhân của 3 số nguyên được nhập vào từ bàn
phím.
#include<cstdlib>
#include<iostream>
#include<math.h>
using namespace std;
main()
{

int a,b,c;
float x,y;
cout<<"Nhap 3 so nguyen a,b,c:"<cin>>a>>b>>c;
x=a*b*c;
y=1.0/3;
cout<<"Trung binh cong:"<<(a+b+c)/3<cout<<"Trung binh nhan:"<system("pause");
}


8. Viết chương trình nhập vào bán kính của hình tròn, in ra diện tích, chu vi của nó.
#include<cstdlib>
#include<iostream>
using namespace std;
const double pi=3.14159254;
main()
{
int r;
float cv,s;
cout<<"Nhap vao ban kinh r cua hinh tron:";
cin>>r;
cv=2*pi*r;
s=pi*r*r;
cout<<"Chu vi hinh tron:"<cout<<"Dien tich hinh tron:"<system("pause");
}
9. Viết chương trình nhập vào 4 chữ số. In ra tổng của 4 chữ số này và chữ số hàng chục, hàng đơn vị

của tổng đó (ví dụ 4 chữ số 3, 1, 8, 5 có tổng là 17 và chữ số hàng chục là 1 và hàng đơn vị là 7, in ra
17, 1, 7).
#include<cstdlib>
#include<iostream>
using namespace std;
main()
{
int a,b,c,d,s;
cout<<"nhap vao bon so a,b,c,d:"<cin>>a>>b>>c>>d;
s=a+b+c+d;
cout<<"tong="<cout<<"chu so hang chuc:"<

cout<<"chu so hang don vi:"<}
10. Viết chương trình nhập vào một số nguyên (có 4 chữ số). In ra tổng của 4 chữ số này và chữ số
đầu, chữsố cuối (ví dụ số 3185 có tổng các chữ số là 17, chữ số đầu và cuối là 3 và 5, in ra 17, 3, 5).
#include<cstdlib>
#include<iostream>
using namespace std;
main()
{
int n,so1,so2,so3,so4,a;
cout<<"nhap vao so nguyen co bon chu so n:"<cin>>n;
so1=n%10;
a=n/10;
so2=a%10;

a=a/10;
so3=a%10;
a=a/10;
so4=a;
cout<<"tong:"<cout<<"chu so dau:"<cout<<"chu so cuoi:"<}
11. Viết chương trình nhập 2 số nguyên a và b, hãy đổi giá trị của a và b theo 2 cách:
- Dùng biến phụ t: t = a; a = b; b = t;
- Không dùng biến phụ: a = a + b; b = a - b; a = a - b;
In kết quả ra màn hình giá trị của a và b trước và sau khi đổi.
#include<cstdlib>
#include<iostream>
using namespace std;
main()
{


int a,b,t;
cout<<"Nhap a,b:";
cin>>a>>b;
cout<<"Truoc khi doi a="<}
CÁCH 2:

#include<cstdlib>
#include<iostream>
using namespace std;
main()
{
int a,b;
cout<<"Nhap a,b:";
cin>>a>>b;
cout<<"Truoc khi doi a="<}
12. Viết chương trình nhập vào hệ số lương (là số thực có 2 chữ số lẻ) của 1 nhân viên. In ra lương
của nhân viên đó, với lương = 1.150.000 * hệ số lương.
#include<cstdlib>
#include<iostream>
using namespace std;


main()
{
int hsl,luong;
cout<<"Nhap vao he so luong:";
cin>>hsl;
luong=1150000*hsl;
cout<<"Luong cua nhan vien nay la:"<system("pause");

}
13. Viết chương trình nhập vào năm sinh của 1 người. Cho biết người đó năm nay được bao nhiêu
tuổi.
#include<cstdlib>
#include<iostream>
using namespace std;
main()
{
int tuoi,ns,nht;
cout<<"Nhap nam sinh";
cin>>ns;
cout<<"Nhap nam hien tai";
cin>>nht;
tuoi=nht-ns;
cout<<"Tuoi:"<system("pause");
}
14. Viết chương trình tính chỉ số pignet của 1 người khi biết chiều cao (cm), vòng ngực
trung bình (cm) và trọng lượng (kg).
Với: chỉsố pignet = chiều cao - (vòng ngực trung bình + trọng lượng)
#include<cstdlib>
#include<iostream>
using namespace std;
main()


{
float chcao,vntb,trluong,pignet;
cout<<"Nhap chieu cao,vong nguc trung binh,trong luong";
cin>>chcao>>vntb>>trluong;

pignet=chcao-(vntb+trluong);
cout<<"Chi so pignet la:"<system("pause");
}
15. Viết chương trình nhập vào chiều dài 3 cạnh a, b, c của 1 tam giác. Tính chu vi và diện
tích của tam giác đó theo công thức sau:
Chu vi : CV = a + b + c
Diện tích : DT = với p = CV/2.
#include<cstdlib>
#include<iostream>
using namespace std;
#include<math.h>
main()
{
int a,b,c,cv;
float p,s;
cout<<"Nhap vao 3 canh a,b,c:"<cin>>a>>b>>c;
cv=a+b+c;
p=cv/2;
s=sqrt(p*(p-a)*(p-b)*(p-c));
cout<<"Chu vi tam giac:"<cout<<"Dien tich tam giac:"<system("pause");
}

BÀI TẬP CHƯƠNG 2


1. Viết chương trình nhập một ký tự, cho biết ký tự đó có phải là chữ cái hay không.

#include<cstdlib>
#include<iostream>
#include<ctype.h>
using namespace std;
main()
{
char kt;
cout<<"Nhap ky tu de kiem tra:";
cin>>kt;
if(isalpha(kt)!=0)
cout<else cout<system("pause");
}
2. Viết chương trình nhập vào một số nguyên, hãy cho biết số đó là âm hay dương, chẵn hay lẻ.
#include<cstdlib>
#include<iostream>
using namespace std;
main()
{
int n;
cout<<"Nhap vao 1 so nguyen:";
cin>>n;
if(n<0)
cout<else
cout<

if(n%2==0)

cout<else
cout<system("pause");
}
3. Viết chương trình nhập 3 số a, b, c in ra max, min của 3 số đó.
#include<cstdlib>
#include<iostream>
using namespace std;
main()
{
int a,b,c,max,min;
cout<<"Nhap a,b,c:";
cin>>a>>b>>c;
{
max=a;
if(maxmax=b;
else max;
if(maxmax=c;
else max;
cout<<"max la"<}
min=a;
if(min>b)
min=b;
else min;



if(min>c)
min=c;
else min;
cout<<"min la"<system("pause");
}
4/Viết chương trình nhập 3 số a, b, c, hãy cho biết 3 số trên có thể là độ dài 3 cạnh của một tam
giác.
#include<cstdlib>
#include<iostream>
using namespace std;
main()
{
int a,b,c;
cout<<"Nhap vao 3 canh cua 1 tam giac:";
cin>>a>>b>>c;
if((a+b)>c&&(a+c)>b&&(b+c)>a&&a>0&&b>0&&c>0)
cout<<"la tam giac"<else cout<<"khong la tam giac"<system("pause");
}
5. Viết chương trình nhập vào điểm cơ bản (đcb) và điểm nâng cao (đnc) cho 1 học viên. Cho biết học
viên này được xếp loại gì, với cách xếp loại dựa vào điểm trung bình (đtb) như sau:
- Nếu đtb >= 9 và không có điểm nào dưới 8 thì được xếp loại xuất sắc
- Nếu đtb >= 8 và không có điểm nào dưới 7 thì được xếp loại giỏi
- Nếu đtb >= 7 và không có điểm nào dưới 6 thì được xếp loại khá
- Nếu đtb >= 5 và không có điểm nào dưới 3 thì được xếp loại trung bình
- Còn lại thì ghi không đạt

#include<cstdlib>

#include<iostream>


using namespace std;
main()
{
float dcb,dnc,dtb;
cout<<"nhap vao diem co ban:";
cin>>dcb;
cout<<"nhap vao diem nang cao:";
cin>>dnc;
if(dcb>=0&&dcb<=10&&dnc>=0&&dnc<=10)
{
dtb=(dcb+dnc)/2;
if(dtb>=9&&dcb>7&&dnc>7) cout<<"xuatsac"<else if(dtb>=8&&dcb>6&&dnc>6) cout<<"gioi"<else if(dtb>=7&&dcb>5&&dnc>5) cout<<"kha"<else if(dtb>=5&&dcb>2&&dnc>2) cout<<"trungbinh"<else cout<<"khong dat"<}
else cout<<"nhap khong phai diem";
system("pause");
}
6. Viết chương trình làm việc như 1 máy tính bỏ túi:
- Nhập vào 2 số
- Hỏi toán tử là +, -, * hay /, tương ứng in ra tổng, hiệu, tích, thương.
- Nếu không phải là các toán tử trên thì kết thúc chương trình.

#include<cstdlib>
#include<iostream>

using namespace std;
main()
{


float a,b;
char kt;
cout<<"nhap a,b :";
cin>>a>>b;
cout<<" nhap vao phep toan : + or - or * or / ";
cin>>kt;
cout<<" ket qua la : ";
if (kt=='+') cout<else if (kt=='-') cout<else if (kt=='*'||kt=='x') cout<else if

( kt=='/'|| kt==':')

{
if (b==0) cout<<" khong chia duoc: ";
else cout<}
else
cout<<" ban nhap phep toan sai "<}
7. Viết chương trình tính tích N số nguyên dương đầu tiên, với N được nhập từ bàn phím.

#include<cstdlib>
#include<iostream>

using namespace std;
main()
{
int n,i;
long kq=1;
cout<<"nhap vao so nguyen n =";


cin>>n;
for(i=1;i<=n;i++)
kq=kq*i;
cout<<"Tich"<cout<system("pause");
}

8. Viết chương trình tính tổng S = 1/2 + 2/3 + 3/4 + … + n/(n+1), với n là số nguyên dương
được nhập từ bàn phím.
#include<cstdlib>
#include<iostream>
using namespace std;
main()
{
int n,i;
float kq=0;
do
{cout<<"nhap vao so nguyen n =";
cin>>n;}
while(n<=0);
for(i=1;i<=n;i++)

kq=kq+i/(i+1.0);
cout<<"Tong s ="<system("pause");
}
9. Viết chương trình tính tổng S = 1 + 2 - 3 + 4 + 5 - 6 + 7 + 8 - 9 + … +/- n, với n là số
nguyên dương được nhập từ bàn phím.


#include<cstdlib>
#include<iostream>
using namespace std;
main()
{
int n,i;
long s=0;
cout<<"nhap so nguyen duong n:";
cin>>n;
for(i=1;i<=n;i++)
if (i%3==0) s=s+(-i);
else s=s+i;
cout<<"Tong: "<system("pause");
}

10. Viết chương trình tính tổng S = , với n, m là số nguyên dương được nhập từ bàn phím.
#include<cstdlib>
#include<iostream>
using namespace std;
main()
{

int n,m,i,j;
long s=0;
cout<<"nhap so nguyen duong n va m:"<cin>>n>>m;
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)


s=s+(i+2*j);
cout<<"Tong s="<system("pause");
}
12. Viết chương trình tính e = 1 + 1/1! + 1/2! + 1/3! + … + 1/n!, cho đến khi 1/(n+1)! nhỏ hơn Epsilon,
với Epsilon là 1 lượng khá nhỏ được nhập từ bàn phím

#include<cstdlib>
#include<iostream>
using namespace std;
main ()
{
int i;
float sh,gt,e,eps;
cout<<"nhap eps:";
cin>>eps;
gt=1;
i=1;
sh=1;
e=1;
do
{

gt=gt*i;
sh=1/gt;
e=e+sh;
i++;
}
while((1.0/(gt*i))>=eps);
cout<<"ket qua la:"<

}
Cách 2:
#include<cstdlib>
#include<iostream>
using namespace std;
main ()
{
float e,eps,gt,sh,i;
gt=1;
i=1;
sh=1;
e=1;
cout<<"nhap eps:";
cin>>eps;
while((1.0/(gt*i))>=eps)
{
gt=gt*i;
sh=1/gt;
e=e+sh;
i++;
}

cout<<"ket qua la:"<}
13. Viết chương trình nhập vào chiều dài và chiều rộng cho 1 hình chữ nhật. In ra hình chữ
nhật đó bằng các dấu *. Giả sử ta nhập cd = 6, cr = 4 thì in:
******
******
******
******
#include<cstdlib>


#include<iostream>
using namespace std;
main()
{
float i,j,cd,cr;
cout<<"nhap chieu dai,chieu rong:"<cin>>cd>>cr;
for(i=1;i<=cr;i++)
{
for(j=1;j<=cd;j++)
cout<<("*");
cout<}
system ("pause");
}
14. Viết chương trình nhập vào số nguyên dương n. In ra tam giác có dạng sau:
@
@@
@@@

@@@@
(Nếu n nhập vào là 4)

#include<cstdlib>
#include<iostream>
using namespace std;
main()
{
float i,j,n;
cout<<"nhap vao so nguyen duong n:";
cin>>n;
for(i=1;i<=n;i++)


{
for(j=1;j<=i*1;j++)
cout<<("@");
cout<}
system("pause");
}
15. Viết chương trình nhập vào lần lượt các số nguyên, quá trình nhập kết thúc khi nhập số nguyên là
0. Cho biết có bao nhiêu số dương, bao nhiêu số âm trong các số nguyên đã nhập.

#include<cstdlib>
#include<iostream>
using namespace std;
main()
{
int sn,demam,demduong;

demam=0,demduong=0;
do
{
cout<<"nhap so nguyen sn:";
cin>>sn;
if (sn>0) demduong++;
else
if (sn<0) demam++;
}
while (sn!=0);
cout<<"co "<cout<<"co "<system ("pause");


}
16. Viết chương trình nhập vào lần lượt các số thực, quá trình nhập kết thúc khi nhập số thực là 0.
Cho biết trị trung bình của các số đã nhập.

#include<cstdlib>
#include<iostream>
using namespace std;
main()
{
float n,tong,tb;
int so=0;
tong=0;
do
{
cout<<"nhap so thuc";

cin>>n;
if (n!=0)
{
so++;
tong +=n;
}
else cout<<"ket thuc";
}
while (n!=0);
tb=tong/so;
cout<<"trung binh"<system ("pause");
}
17. Viết chương trình làm nhiều lần công việc sau: Nhập 1 số thực, in số đối của số thực đó. Chương
trình kết thúc khi nào số thực nhập vào là 0.


#include<cstdlib>
#include<iostream>
using namespace std;
main()
{
float n;
do
{
cout<<"nhap so thuc n:";
cin>>n;
if (n!=0)
cout<<"so doi "<<(-1)*n<else cout<<"ket thuc";

}
while (n!=0);
system ("pause");
}
18. Viết chương trình nhập vào 1 số nguyên dương, in ra ước số lẻ lớn nhất của nó. Ví dụ ta nhập số
60 thì in ra là 15.

#include<cstdlib>
#include<iostream>
using namespace std;
main()
{
int n,i;
cout<<"nhap vao so nguyen n:";
cin>>n;
for(i=n;i>=1;i--)


{
if((n%i==0)&&(i%2==1))
{
cout<<"uoc so nguyen le lon nhat la:"<break;
}
}
system("pause");
}
19. Viết chương trình in ra tất cả các số nguyên tố < N, N là trị nhập.

#include<cstdlib>

#include<iostream>
using namespace std;
main()
{
int i,j,n;
cout<<"nhap n:";
cin>>n;
cout<<"day cac so nguyen to la:";
for(j=2;j<=n-1;j++)
{
i=1;
do i++;
while ((i<=j/2)&&(j%i!=0));
if(i>j/2) cout<}
system ("pause");
}


Cách 2:
#include <iostream>
#include <math.h>
using namespace std;
main()
{
int n,j,m;
cout<<"Nhap so nguyen duong: ";
cin>>n;
for (int i=2;i{

j=2;
m=(int)sqrt(n);
while (i%j!=0 && j<=m)
{
j++;
}
if (j>m || j==i)
cout<}
}
20. Viết chương trình tính số hạng thứ n của dãy Fibonaci. Hướng dẫn: Dãy Fibonaci là dãy số gồm
các số hạng F(n) vói F(n) = F(n - 1) + F(n - 2) và F(1) = F(2) = 1
Ví dụ: Dãy Fibonaci gồm 10 số hạng đầu tiên là: 1 1 2 3 5 8 13 21 34

#include<cstdlib>
#include<iostream>
using namespace std;
main()
{


int i,n,s=1,s1=1,s2;
cout<<"nhap so n:";
cin>>n;
for (i=3;i<=n;i++)
{
s2=s1+s;
s=s1;
s1=s2;
}

cout<<"so hang cua day Fibonaci:"<system("pause");
}
Cách 2:
#include <iostream>
using namespace std;
main()
{
int n,dem=2,fn1=1,fn2=1,fn;
cout<<"Nhap so nguyen duong: ";
cin>>n;
while (dem!=n)
{
fn=fn1+fn2;
fn1=fn2;
fn2=fn;
dem++;
}
if (n==1 || n==2)


fn=1;
cout<<"So hang thu "<< n<< " cua day Fibo la: "<}
21. Viết chương trình phân tích 1 số nguyên dương n thành tích của các thừa số nguyên tố.

#include<cstdlib>
#include<iostream>
using namespace std;
main()

{
int n,i=2;
do{
cout<<"nhap vao so can tinh n:";
cin>>n;
}while (n<2);
cout<while(n>1)
{
int dem=0;
while (n%i==0)
{
dem++;
n/=i;
}
if(dem>0)
{
cout<if(dem>1) cout<<"^"<if(n>1)cout<<"*";