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

CÁC bài tập căn bản TRONG c

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 (1.02 MB, 11 trang )

CÁC BÀI TẬP CĂN BẢN TRONG C++
Trình biên dịch: Visual Studio 2013
I.

CÁC BÀI TẬP VỀ PHƯƠNG TRÌNH, LŨY THỪA, GIAI THỪA
Bài 1:
Giải Phương trình bậc 2: Ax2 + Bx + C = 0

#include<iostream>
#include<math.h>
#include<conio.h>
using namespace std;
int main()
{
float a, b, c, d;
cout << "\n Nhap a: "; cin >> a;
cout << "\n Nhap b: "; cin >> b;
cout << "\n Nhap c: "; cin >> c;
if (a == 0)
{
if (b == 0)
{
if (c == 0) { cout << "\n PT vo so nghiem. \n"; system("pause"); return 1; }
else

{ cout << "\n PT vo nghiem. \n"; system("pause"); return 1; }

}
else
{
if (c == 0) { cout << "\n PT co nghiem: x= 0 \n"; system("pause"); return 1; }


else
return 1; }
}
}
if (a!=0)
{

{ cout << "\n PT co nghiem: x= " << -c / b << "\n"; system("pause");


if (b == 0)
{
if (c == 0) { cout << "\n PT co nghiem: x= 0 \n"; system("pause"); return 1; }
if (c < 0) { cout << "\n PT vo nghiem. \n"; system("pause"); return 1; }
else
{ cout << "\n PT co 2 nghiem: \n x1= " << sqrt(c) << "\n x2= " <<
-sqrt(c) << "\n"; system("pause"); return 1; }
}
if (b!=0)
{
d = b*b - 4 * a*c;
if (d < 0) { cout << "\n PT vo nghiem. \n"; system("pause"); return 1; }
if (d == 0) { cout << "\n Pt co nghiem kep: \n x1= x2= " << -b / (2 * a)<<"\n";
system("pause"); return 1; }
else
{
cout << "\n PT co 2 nghiem phan biet: ";
cout << "\n x1= " << (-b - sqrt(d)) / (2 * a);
cout << "\n x2= " << (-b + sqrt(d)) / (2 * a)<<"\n";
system("pause");

}
}
}
}
Hình ảnh:


Bài 2: Nhập vào một số nguyên N: Tính N!.

#include<iostream>
using namespace std;
int gt(int a)
{
if (a <= 0) return 1;
if (a == 1) return 1;
else return a*gt(a - 1);
}
int main()
{
int a,b;
cout << "\n Nhap a: "; cin >> a;
b = gt(a);
cout << "\n " << a << "!= " << b << "\n";
system("pause");


}
Hình ảnh:

Bài 3: Viết Chương trinh tính Lũy Thừa a^b với a là số thực, b là số nguyên.


#include<iostream>
using namespace std;
float lt(float a,int b)
{
int i;
float s=1;
for (i = 1; i <= b; i++)
s = s*a;
return s;
}
int main()
{
float a,c;


int b;
cout << "\n Chuong trinh tinh: a^b:";
cout << "\n Nhap a: "; cin >> a;
cout << "\n Nhap b: "; cin >> b;
c = lt(a,b);
cout << "\n " << a << "^" << b << " = " << c << "\n";
system("pause");
}
Hình ảnh:

Câu 4: Dãy Fibonaxi. Tính số Fibonaxi thứ N

#include<iostream>
using namespace std;

int fb(int a)
{
if (a == 1) return 1;
if (a == 2) return 2;
else return fb(a - 1)*fb(a - 2);


}
int main()
{
int a;
cout << "\n Nhap a: "; cin >> a;
cout << "\n So Fibonaxi thu " << a << ": Fb(" << a << ")= " << fb(a) << "\n ";
system("pause");
}
Hình ảnh

II.

CÁC BÀI TẬP VỀ SỐ

Bài 1: Nhập vào số nguyên N. Kiểm tra xem N có phải là số hoàn hảo, in ra các số hoàn hảo nhỏ hơn
N.
#include<iostream>
using namespace std;
int hh(int a)
{


int i, t=0;

for (i = 1; i <= a/2;i++)
if (a%i == 0)
t = t + i;
if (t == a) return a;
else

return 0;

}
int main()
{
int a, i;
cout << "\n Nhap a: "; cin >> a;
if (hh(a) == a) cout << "\n " << a << " la so Hoan Hao.";
else

cout << "\n " << a << " khong phai so Hoan hao.";

cout << "\n Cac so Hoan Hao nho hon " << a << " la: ";
for (i = 1; i <= a;i++)
if (hh(i) == i) cout << i << " ";
cout << "\n";
system("pause");
}
Hình ảnh:


Bài 2. Nhâp số nguyên N. Kiểm tra xem số đó có phải là nguyên tố hay không, in ra các số nguyên tố
nhỏ hơn N.


#include<iostream>
using namespace std;
int nt(int a)
{
if (a <= 1) return 0;
if (a>1)
for (int i = 2; i <= sqrt(a);i++)
if (a%i == 0) return 0;
return 1;
}
int main()
{
int a, i;
cout << "\n Nhap a: "; cin >> a;
if (nt(a) == 1) cout << "\n " << a << " la so nguyen to \n";


else

cout << "\n " << a << " khong la so nguyen to \n";

cout << "\n Cac so nguyen to nho hon " << a << " la: \n";
for (i = 1; i <= a-1;i++)
if (nt(i) == 1) cout << i << "\n";
system("pause");
}
Hình ảnh:

Bài 3: Nhạp vào 1 số nguyên N, kiểm tra xem số đó có phải số Chính Phương hay không, in ra các số
chính phương nhỏ hơn N.

Số chính phương là số có thể khai căn.
#include<iostream>
using namespace std;
int scp(int a)
{
int i = (int)sqrt(a);
if (i*i == a) return 1;
else return 0;
}


int main()
{
int a, i;
cout << "\n Nhap a: "; cin >> a;
if (scp(a) == 1) cout << "\n " << a << " la so chinh phuong. \n";
else cout << "\n " << a << " khong la so chinh phuong. \n";
cout << "\n Cac so chinh phuong nho hon " << a << " la: \n";
for (i = 1; i <= a - 1;i++)
if (scp(i) == 1) cout << i << "\n";
system("pause");
}
Hình ảnh:

III.

CÁC BÀI TẬP VỀ DÃY SỐ

Bài 1: Nhập vào một dãy số sắp xếp dãy đó tăng dần, tính tổng các số chẵn, tổng các số
lẻ, tính trung bình dãy.

#include<iostream>
using namespace std;


int main()
{
int a[100], n, i, tc=0, tl=0;
float tb = 0;
cout << "\n Nhap so luong cac phan tu cua day: "; cin >> n;
for (i = 1; i <= n; i++)
{
cout << "\n Nhap phan tu thu " << i << ":= "; cin >> a[i];
if (a[i] % 2 == 0) tc = tc + a[i];
if (a[i] % 2 != 0) tl = tl + a[i];
}
cout << "\n Tong chan: " << tc;
cout << "\n Tong le: " << tl;
cout << "\n TB day: " << (float)(tc + tl) / n<<"\n";
system("pause");
}
Hình ảnh



×