1. Trang chủ
  2. » Công Nghệ Thông Tin

C++ Bài Tập Và Lời Giải các Bài tập Cơ Bản

60 1,5K 11

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề C++ Bài Tập Và Lời Giải Các Bài Tập Cơ Bản
Trường học Thành phố Hồ Chí Minh University of Technology
Chuyên ngành Công Nghệ Thông Tin
Thể loại bài tập
Năm xuất bản 2014
Thành phố Thành phố Hồ Chí Minh
Định dạng
Số trang 60
Dung lượng 93,19 KB

Nội dung

C++ Bài Tập Và Lời Giải các Bài tập Cơ Bản Những bài tập hay và thú vị dành cho các bạn

Trang 1

Bài 1: Cho đoạn chương trình sau:

Trang 2

int main(void)

{ int a, b, c, d, Min, Max;

printf("\nSo lon nhat : %5d", Max);

printf("\nSo nho nhat : %5d", Min);

Trang 3

if ((fabs(Dx) <= 0.00001) && (fabs(Dy) <= 0.0001))

printf("\nPhuong trinh nghiem dung voi moi x va y");

Trang 6

Bài 6 : Lập chương trình in lên màn hình các số từ 1 đến 6 thành hình sau:

Trang 8

Bài 7 : Viết chương trình in lên màn hình các số từ 0 đến 9 thành hình sau:

1232345434567654567898765678901098767890123210987890123454321098901234567654321090123456789876543210

khai dưới dạng chuỗi như sau:

ex = 1 + x/1! + x2/2! + + xi/i! +

lời giải :

#include <stdio.h>

Trang 9

#include <math.h>

#include <conio.h>

int main(void)

{ double ex, ex0, sh = 1;

Trang 10

Bài 9 ; Viết chương trình tìm tất cả các số nguyên trong khoảng 1000 đến 9999 thoả mãn hệ thức sau:

Trang 11

Bài 10 : Lập trình tính y = ax + by + cz với a, b, c và x, y, z là các số thực nhập từbàn phím.

scanf("%f%f%f", &x, &y, &z);

float Y = pow(a, x) + pow(b, y) + pow(c, z);

printf("\nKet qua: y = %10.3f", Y);

getch();

return 0;

}

Trang 12

Bài 11 : Có 3 loại giấy bạc 5000đ, 2000đ, 1000đ Có bao nhiêu tổ hợp 3 loại giấy bạc trên để có 200000 đ sao cho tổng số tờ giấy bạc không quá 50 tờ, trong đómỗi loại giấy bạc phải có ít nhất 1 tờ?

Trang 13

float LT(float, int); //Khong dung de qui

float LT1(float, int); //Dung de qui

int main(void)

{ float y, a;

Trang 15

Bài 13 : Lập trình tạo bảng chọn để nhập dữ liệu và tính diện tích các hình vuông, tròn, chữ nhật, hình thang, tam giác theo nhu cầu.

char *M[30] = {"Tinh dien tich hinh vuong",

"Tinh dien tich hinh chu nhat",

"Tinh dien tich hinh tam giac",

"Tinh dien tich hinh tron",

"Tinh dien tich hinh thang",

Trang 16

int Menu(char *M[30], int, int);

{ case 0: HinhVuong(); break;

case 1: ChuNhat(); break;

case 2: TamGiac(); break;

case 3: HinhTron(); break;

case 4: HinhThang(); break;

Trang 17

{ int i, j;

window(1, 1, 80, 24);

textattr(WHITE + (GREEN << 4));

gotoxy(X, Y); cprintf("%c", 218);

gotoxy(X, Y+H); cprintf("%c",192);

gotoxy(X+W, Y); cprintf("%c",191);

gotoxy(X+W, Y+H); cprintf("%c",217);

for (i = X+1; i <= X+W-1; i++)

{

gotoxy(i, Y); cprintf("%c",196);

gotoxy(i, Y+H); cprintf("%c",196);

}

for (i = Y+1; i <= Y+H-1; i++)

{

gotoxy(X, i); cprintf("%c",179);

gotoxy(X+W, i); cprintf("%c",179);

}

gotoxy(X + (W - strlen(Title)) / 2, Y);

cprintf("%s", Title);

textattr(WHITE + (BLUE << 4));

Trang 18

for (i = Y+1; i <= Y+H-1; i++)

{

for (j = X+1; j <= X+W-1; j++)

{

gotoxy(j, i); cprintf("%c",32);

gotoxy(j, i); cprintf("%c",32);

}

}

window(X+1, Y+1, X+W-1, Y+H-1);

}

int Menu(char *M[30], int N, int k)

{ Khung((80 - 40)/2 - 1, 2, 40, N+1, "Menu chinh");

else textattr(WHITE + (BLUE << 4));

cprintf("%2d %-34s", i+1, M[i]);

}

c = getch();

if (!c) c = getch();

Trang 20

gotoxy(1, 1); cprintf("\nCho canh a va b cua hinh chu nhat: ");

cscanf("%f%f", &a, &b);

"Cho hai canh va goc xen giua",

"Cho hai goc va canh ke hai goc do",

Trang 21

gotoxy(1, 1);

cprintf("\nCho canh day a va chieu cao h: ");

cscanf("%f%f", &a, &h);

Trang 22

cprintf("\nCho 2 goc beta, gamma: ");

cscanf("%f%f", &beta, &gamma);

Trang 24

gotoxy(1, 3); cprintf("\nCho chieu cao h: ");

Trang 25

{ int n, k;

clrscr();

do {

Trang 26

printf("\nCho n, k: ");

scanf("%d%d", &n, &k);

Trang 29

printf("\nCho n (3 chu so tro len): ");

Trang 30

Bài 17 : Bài toán người đưa thư: Piter là người đưa thư Một hôm, để phá

vỡ sự nhàm chán của công việc thường ngày, anh ta bắt đầu đi mở tất cảcác hộp thư có số chẵn Sau đó bắt đầu từ hộp thư đánh số 3 anh ta đi tìmcác hộp thư là bội số của 3, đóng lại nếu nó đang mở và mở ra nếu nó đang đóng Tiếp tục như thế cho các hộp thư có số thứ tự chia hết cho 4, cho 5 v.v Cuối cùng, anh ta vô cùng ngạc nhiên trước kết quả công việc của mình

Điều gì đã xảy ra vậy? Hãy lập trình mô phỏng công việc của Piter, để xem kết quả cuối cùng là gì

int *D = (int *) malloc((n+1)*sizeof(int));

for (int i = 1; i <= n; i++)

D[i] = 0;

Trang 33

tích, chu vi và in kết quả lên màn hình

Lời giải :

diện tích xung quanh, diện tích toàn phần và in kết quả lên màn hình

Trang 34

printf("\n\nTinh dien tich va the tich khoi hop chu nhat\n\n");

printf("\nChieu dai : %5d", dai);

printf("\nChieu rong : %5d", rong);

printf("\nChieu cao : %5d", cao);

printf("\nDien tich xung quanh : %5d", Sxq);

printf("\nDien tich toam phan : %5d", Stp);

printf("\nThe tich : %5d", V);

Trang 35

getch();

}

3 môn lớn hơn 19, không có môn nào dưới 5 thì thông báo trúng tuyển

Trang 37

void NhapMang(float *, int

;

void InMang(float *, int);

void Swap(float &, float &);

void SapXep(float *, int );

int main(void)

Trang 38

void NhapMang(float *m, int *n)

{ printf("\nCho so phan tu: ");

void InMang(float *m, int n)

{ for (int i = 0; i < n; i++)

Trang 39

{ for (int i = 0; i < n - 1; i++)

chương trình đó với hàm SapXep chỉ có một vòng lặp

void InMang(float *, int);

void Swap(float &, float &);

void SapXep(float *, int );

int main(void)

{ float m[100];

int n;

NhapMang(m, &n);

Trang 40

printf("\n\nMang truoc khi sap xep: ");

void NhapMang(float *m, int *n)

{ printf("\nCho so phan tu: ");

Trang 41

void InMang(float *m, int n)

{ for (int i = 0; i < n; i++)

Trang 43

Bài 25 : Giải và biện luận hệ hai phương trình tuyến tính hai ẩn với các hệ số a, b,

Trang 45

for (int i = 1; i <= 6; i++){

for (int j = 1; j <= i; j++) printf("*");

Trang 46

getch();

return 0;

}

tiền mệnh giá 5 đồng, 2 đồng, 1 đồng Hỏi chị Mai có bao nhiêu phương án trả tiền

Trang 47

Lời giải : #include <stdio.h>

Trang 51

printf("\nCo tiep tuc khong? (Y/N)");

Trang 52

do { printf("\nCho xau 1: ");

nhập vào có thể là chữ in hay chữ thường nhưng phải được chuyển đổi ngay thành chữ in

Lời giải :

#include <stdio.h>

Trang 53

Lý, Hoá của một học sinh, tính điểm trung bình 3 môn và in kết quả lên màn hình

Trang 54

Lời giải :

#include <stdio.h>

#include <conio.h>

{ char *HoTen, *DiaChi;

int NgaySinh, ThangSinh, NamSinh;

float DiemToan, DiemLy, DiemHoa, DiemTrungBinh;

Trang 55

đó Cho biết từ ngày đó đến hết năm còn bao nhiêu ngày nữa Biết rằng số ngày của mỗi tháng trong năm như sau:

Tháng 1 2 3 4 5 6 7 8 9 10 11 12

Số ngày 31 28 31 30 31 30 31 31 30 31 30 31

riêng tháng 2 năm nhuận có 29 ngày

Năm nhuận là các năm mà số 2 tận cùng chia hết cho 4 Riêng các năm chẵn trămthì phải cả hai chữ số hàng trăm cũng phải chia hết cho 4 Ví dụ: 1984 là năm nhuận, 2000 là năm nhuận, nhưng 1900 không phải là năm nhuận

Lời giải :

#include <stdio.h>

#include <conio.h>

Trang 56

void NhapNgay(Day &D)

{ printf("\nCho ngay, thang, nam (dd/mm/yy): ");

scanf("%d/%d/%d", &D.Ngay, &D.Thang, &D.Nam);

}

void InNgay(Day D)

{ printf("%d/%d/%d", D.Ngay, D.Thang, D.Nam);

}

Trang 57

int SoNgayTruoc(Day D)

{ int SoNgay;

switch (D.Thang)

{ case 1: SoNgay = D.Ngay; break;

case 2: SoNgay = 31 + D.Ngay; break;

case 3: SoNgay = 59 + D.Ngay; break;

case 4: SoNgay = 90 + D.Ngay; break;

case 5: SoNgay = 120 + D.Ngay; break;

case 6: SoNgay = 151 + D.Ngay; break;

case 7: SoNgay = 181 + D.Ngay; break;

case 8: SoNgay = 212 + D.Ngay; break;

case 9: SoNgay = 243 + D.Ngay; break;

case 10: SoNgay = 273 + D.Ngay; break;

case 11: SoNgay = 304 + D.Ngay; break;

case 12: SoNgay = 334 + D.Ngay; break;

Trang 58

int SoNgaySau(Day D)

{ int SoNgay = SoNgayTruoc(D);

if (LaNamNhuan(D)) return 366 - SoNgay;

else return 365 - SoNgay;

printf("\nSo ngay tinh tu dau nam: %d", SoNgayTruoc(D));

printf("\nSo ngay tinh den cuoi nam: %d", SoNgaySau(D));

Trang 59

*s3 = "mua thu Ha noi";

*s3 = "mua thu Ha Noi";

int main(void)

Trang 60

Ket qua khi chay

Ha noi mua thu

thu

ua thu Ha noi

Sau lenh strcpy, xau s1 bi chep de boi xau "Ha noi mua thu"

Vi xau nay dai hon vung nho da cap phat cho s1 nen da lan sang

phan bo nho danh cho s2 Ket qua la s2 bi chep de boi xau "thu"

Chinh xau "thu" cung dai hon 3 byt danh cho s2 nen co mot byte

lan sang vung nho cua s3 Byte do chinh la byte ket thuc cua

xau "Ha noi mua thu" nen dong thoi cung la xau ket thuc cua ca

ba xau, trong do xau s3 bi cham het ngay tu ky tu dau tien Thuc

te la chi co chu 'm' cua xau nay bi mat, phan con lai cua xau

nay van nguyen ven khong bi chep de nhu xau s2 Neu viet tiep

lenh:

puts(++s3);

se thay phan nay

Ngày đăng: 25/05/2014, 17:27

TỪ KHÓA LIÊN QUAN

w