Bài tập C++ có lời giải (code mẫu)

Tóm Tắt

Quản Trị Mạng đã tổng hợp cho các bạn một số bài tập C++ cơ bản để luyện tập thêm trong quá trình học ngôn ngữ lập trình C++.

trực tuyến Bên cạnh nhanh nhất các bài tập Python ở đâu uy tín , Java giá rẻ , Quản Trị Mạng tối ưu cũng tổng hợp cho tất toán các bạn một số bài tập C++ cơ bản ở đâu uy tín để luyện tập thêm trong nơi nào quá trình học ngôn ngữ lập trình C++.

Danh mục bài tập C++ này tổng hợp được chia thành 9 phần công cụ , mỗi phần có từ 3 đến 5 bài mới nhất , sử dụng với cấp độ khó tăng dần khóa chặn . Ban đầu bạn kiểm tra sẽ “khởi động” công cụ với qua mạng những bài tập C++ hết sức cơ bản tất toán , như mô phỏng phép nhân tay kỹ thuật , in số tiền hay nhất , kiểm tra một bộ 3 số xem có phải là cạnh địa chỉ của một tam giác không nguyên nhân , tính chu vi ở đâu nhanh , diện tích tam giác đó.

Dần dần lấy liền sẽ là tổng hợp những bài khó hơn như tạo vô hiệu hóa và quản lý danh sách sinh viên như thế nào , tài liệu sử dụng , in công cụ hoặc thực hiện tự động các công việc khác theo yêu cầu cùa đề bài xóa tài khoản . Thậm chí là vẽ cả đồ thị download của hàm lượng giác.

Danh mục bài tập C++

  • Bài tập C++ số 1
    • Câu 1: Mô phỏng phép nhân tay
    • Câu 2: Nhập số tiền

      chia sẻ

      , in số tờ

      qua app

      , mệnh giá

    • Câu 3: Đổi số sang số La Mã
    • Câu 4: In cách đọc số
    • Câu 5: Giải phương trình bậc hai
  • Bài tập C++ số 2
    • Câu 1: Kiểm tra 3 số có phải cạnh tam giác không

      tải về

      ,

      full crack

      nếu có là loại tam giác nào

      trên điện thoại

      , tính chu vi

      chi tiết

      , diện tích

    • Câu 2: Tính số năm cần gửi tiết kiệm
    • Câu 3: In số PI tính

      download

      được

      ứng dụng

      với sai số cho trước

    • Câu 4: Tìm

      giảm giá

      và in số hoàn hảo

    • Câu 5: Tìm

      qua app

      và in

      tốc độ

      các số nguyên tố nhỏ hơn n

  • Bài tập C++ số 3
    • Câu 1: Kiểm tra số chính phương
    • Câu 2: Giải bất phương trình bậc nhất
    • Câu 3: Viết hàm đệ quy tìm ước chung lớn nhất
    • Câu 4: Tính giai thừa cách

      dịch vụ

      của số nguyên dương n

    • Câu 5: Viết hàm đệ quy giải bài toán tháp Hà Nội
  • Bài tập C++ số 4
    • Câu 1: In

      công cụ

      các phần tử

      tải về

      của mảng theo yêu cầu

    • Câu 2: Nhập

      quảng cáo

      , sắp xếp

      full crack

      , in mảng

    • Câu 3: Nhập

      chi tiết

      , in mảng

      như thế nào

      , đếm đoạn theo

      lừa đảo

      các tiêu chí

    • Câu 4: Nhập

      trực tuyến

      , in

      qua mạng

      , tính tích 2 ma trận

    • Câu 5: Nhập

      nhanh nhất

      , in ma trận vuông

      giảm giá

      , tính định thức

  • Bài tập C++ số 5
    • Câu 1: Kiểm tra tính đối xứng

      xóa tài khoản

      của một xâu

    • Câu 2: Thống kê số lần xuất hiện một ký tự trong xâu
    • Câu 3: Chuẩn hóa xâu ký tự
    • Câu 4: Nhập mảng xâu ký tự

      tốt nhất

      và sắp xếp tăng dần

  • Bài tập C++ số 6
    • Câu 1: Quản lý điểm số thí sinh bằng mảng
    • Câu 2: Quản lý tài liệu

      tối ưu

      , in danh sách theo yêu cầu

    • Câu 3: Quản lý thanh toán tiền điện
  • Bài tập C++ số 7
    • Câu 1: Tạo tệp số

      lừa đảo

      , đếm số

      ở đâu uy tín

      , số lớn nhất

      nạp tiền

      , số nhỏ nhất

    • Câu 2: Tạo tệp tên sinh viên

      tất toán

      , sắp xếp

      nạp tiền

      và in

    • Câu 3: Tạo tệp danh sách hồ sơ sinh viên theo yêu cầu
  • Bài tập C++ số 8
    • Câu 1: Vẽ lá cờ đỏ sao vàng tại vị trí trung tâm màn hình.
    • Câu 2: Vẽ mô phỏng tháp phát sóng ăng-ten.
    • Câu 3: Vẽ bầu trời sao trên màn hình.
    • Câu 4: Vẽ đồ thị hàm số y=sinx.
    • Câu 5: Vẽ quả bóng chuyển động trong khung chữ nhật.
  • Bài tập C++ số 9
    • Câu 1: Tạo lớp vec-tơ theo yêu cầu
    • Câu 2: Tạo lớp phân số theo yêu cầu
    • Câu 3: Tạo lớp hàng hóa theo yêu cầu
    • Câu 4: Viết hàm nhập

      mật khẩu

      , xuất

      danh sách

      , sắp xếp mảng

Bài tập C++ số 1

Câu 1: Mô phỏng phép nhân tay

Lập trình in ra màn hình mô phỏng phép nhân tay 2 số nguyên dương có 3 chữ số nhập từ bàn phím giá rẻ . Ví dụ sử dụng với 2 số nhập vào là 763 kiểm tra và 589 full crack thì phải in ra màn hình giả mạo như sau:

Bài tập C++ có lời giải (code mẫu)

Code mẫu:

#include<stdio.h>
#include<conio.h>
void main()
{int a,b;char dv,chuc,tram;
clrscr();
printf("Nhap so bi nhan co 3 chu so a="); scanf("%d",&a);
printf("Nhap so nhan co 3 chu so b="); scanf("%d",&b);
dv=b%10; chuc=b%100/10; tram=b/100;
printf(" Mo phong phep nhan tay ");
printf("%20d ",a);
printf("%15c%5d ","x",b);
printf("%20s ","-------");
printf("%20d ",a*dv);
printf("%19d ",a*chuc);
printf("%18d ",a*tram);
printf("%20s ","-------");
printf("%20ld ",long(a)*b);
getch();

}

Câu 2: Nhập số tiền

khóa chặn

, in số tờ

qua web

, mệnh giá

Một người cần rút một số tiền T từ ngân hàng mẹo vặt và muốn tổng số tờ ít nhất hỗ trợ . Cho biết có sử dụng các loại tiền mệnh giá 100 như thế nào , 20 chia sẻ , 5 tốt nhất và 1 ở đâu uy tín . Nhập từ bàn phím số tiền T nơi nào và in ra số tờ mỗi loại mệnh giá kiểm tra và tổng số tờ nhận tốt nhất được.

Code mẫu:

#include <stdio.h>
#include <conio.h>
void main()
{int t,t100,t20,t5;
clrscr();
printf("Nhap so tien t=");scanf("%d",&t);
t100=t/100;t-=100*t100; t20=t/20;t-=20*t20; t5=t/5;t-=5*t5;
printf("So to cac loai menh gia la : ");
printf("Loai 100 : %d to ",t100);
printf("Loai 20 : %d to ",t20);
printf("Loai 5 : %d to ",t5);
printf("Loai 1 : %d to ",t);
printf("Tong so to cac loai la : %d ",t+t5+t20+t100);
getch();
}

Câu 3: Đổi số sang số La Mã

Hãy lập trình nhập 1 số nguyên dương nhỏ hơn 1000 quản lý và đổi sang số La mã tương ứng tốc độ , in kết quả ra màn hình.

Code mẫu:

#include<conio.h>

#include<iostream.h>

void main()

{int n,dv,ch,tr;

clrscr();

cout<<"Nhap so nguyen duong <1000 : "; cin>>n;

cout<<"So "<<n<<" doi sang so La ma la : ";

tr=n/100;n=n%100; ch=n/10;dv=n%10;

switch (tr)

{case 1:cout<<"C";break;

case 2:cout<<"CC";break;

case 3:cout<<"CCC";break;

case 4:cout<<"CD";break;

case 5:cout<<"D";break;

case 6:cout<<"DC";break;

case 7:cout<<"DCC";break;

case 8:cout<<"DCCC";break;

case 9:cout<<"CM";

}

switch (ch)

{case 1:cout<<"X";break;

case 2:cout<<"XX";break;

case 3:cout<<"XXX";break;

case 4:cout<<"XL";break;

case 5:cout<<"L";break;

case 6:cout<<"LX";break;

case 7:cout<<"LXX";break;

case 8:cout<<"LXXX";break;

case 9:cout<<"XC";

}

switch (dv)

{case 1:cout<<"I";break;

case 2:cout<<"II";break;

case 3:cout<<"III";break;

case 4:cout<<"IV";break;

case 5:cout<<"V";break;

case 6:cout<<"VI";break;

case 7:cout<<"VII";break;

case 8:cout<<"VIII";break;

case 9:cout<<"IX";

}

getch();

}

Câu 4: In cách đọc số

In ra màn hình cách đọc một số nguyên dương nhỏ hơn 1000000 chi tiết . Ví dụ số 726503 đọc là: bảy mươi hai vạn sáu ngàn năm trăm linh ba.

Code mẫu:

#include<iostream.h>

#include<conio.h>

void main()

{ char doc[9][5]={"mot","hai","ba","bon","nam","sau","bay","tam","chin"};

int van,ngan,tram,chuc,donvi,chv,dv;

long so;

clrscr();

cout<<"Nhap so nguyen duong <1000000 can doc = ";cin>>so;

cout<<"Cach doc so "<<so<<" la: ";

van=so/10000; ngan=so/1000%10; tram=so/100%10; chuc=so/10%10; donvi=so%10;

if(van)

{chv=van/10; dv=van%10;

if(chv==1)cout<<"muoi ";

else if(chv>1)cout<<doc[chv-1]<<" muoi ";

if(dv)cout<<doc[dv-1];

cout<<" van ";

}

if((ngan==0)&&van)cout<<" khong ngan ";

else if(ngan)cout<<doc[ngan-1]<<" ngan ";

if((tram==0)&&(van||ngan))cout<<" khong tram ";

else if(tram)cout<<doc[tram-1]<<" tram ";

if((chuc==0)&&donvi&&(van||ngan||tram))cout<<"le ";

else if(chuc==1)cout<<" muoi ";

else cout<<doc[chuc-1]<<" muoi ";

if(donvi)cout<<doc[donvi-1];

getch();

}

Câu 5: Giải phương trình bậc hai

Lập trình giải phương trình ax2 + bx + c = 0 tài khoản , download các hệ số thực a công cụ , b quảng cáo , c nhập từ bàn phím.

Code mẫu:

#include<stdio.h>

#include<conio.h>

#include<math.h>

void main()

{float a,b,c,d;

clrscr();

printf("Nhap cac he so a

khóa chặn

, b

cập nhật

, c : "); scanf("%f%f%f",&a,&b,&c);


if (a)

{d=b*b-4*a*c;

if (d<0) printf("Vo nghiem !");

if (d==0) printf("Nghiem kep x=%4.2f",-0.5*b/a);

if (d>0)

{printf("Hai nghiem phan biet : ");

printf("x1=%4.2f",0.5*(-b-sqrt(d))/a);

printf(" x2=%4.2f",0.5*(-b+sqrt(d))/a);

}

}else if (b) printf("Mot nghiem x=%4.2f",-c/b);

else if (c) printf("Vo nghiem !");

else printf("Vo so nghiem !");

getch();

}

Bài tập C++ số 2

Câu 1: Kiểm tra 3 số có phải cạnh tam giác không

full crack

,

giả mạo

nếu có là loại tam giác nào

hướng dẫn

, tính chu vi

sử dụng

, diện tích

Nhập 3 số thực a ở đâu tốt , b địa chỉ , c như thế nào và kiểm tra 3 số đó có phải là 3 cạnh quảng cáo của 1 tam giác không tải về ? download Nếu là 3 cạnh tam giác chia sẻ thì cho biết là tam giác nào trong trực tuyến các loại tam giác sau: đều nhanh nhất , vuông cân như thế nào , vuông kiểm tra , cân quảng cáo , thường hướng dẫn và tính chu vi qua app , diện tích tự động của tam giác đó nhanh nhất . In kết quả ra màn hình.

Code mẫu:

#include<stdio.h>

#include<conio.h>

#include<math.h>

void main()

{float a,b,c,p,s;

int deu,vuong,can;

clrscr();

printf("Nhap cac so thuc a

nơi nào

, b

hướng dẫn

, c : "); scanf("%f%f%f",&a,&b,&c);


if (a+b>c&&a+c>b&&b+c>a)

{printf("La ba canh mot tam giac ");

deu=(a==b)&&(b==c);

vuong=(a*a+b*b==c*c)||(a*a+c*c==b*b)||(b*b+c*c==a*a);

can=(a==b)||(a==c)||(b==c);

if(deu)printf(" deu ");

else if(vuong&&can)printf(" vuong can ");

else if(vuong)printf(" vuong ");

else if(can)printf(" can ");

else printf(" thuong ");

p=(a+b+c)/2;

printf("Chu vi = %4.2f

kiểm tra

, Dien tich = %4.2f",2*p,sqrt(p*(p-a)*(p-b)*(p-c)));


}else printf("Khong phai la ba canh mot tam giac ");

getch();

}

Câu 2: Tính số năm cần gửi tiết kiệm

Một người cần có một số tiền T tính năng , tích lũy bằng cách gửi tiết kiệm số tiền ban đầu là S giả mạo với lãi suất có kỳ hạn theo năm là P% theo phương thức lũy tiến (lãi full crack của mỗi năm tự động được cộng vào tăng tốc với tiền gốc) danh sách . Hãy nhập vào tính năng các số thực T nhanh nhất , S quản lý , P tổng hợp và xác định số năm cần gửi tiết kiệm.

Code mẫu:

#include <stdio.h>

#include <conio.h>

void main()

{ float s,t,p; int n;

clrscr();

printf("Nhap so tien ban dau : "); scanf("%f",&s);

printf("Nhap so tien can co : "); scanf("%f",&t);

printf("Nhap lai suat %% nam : "); scanf("%f",&p);

for (p=0.01*p,n=0;s<t;s+=s*p,n++);

printf("So nam can gui tiet kiem = %d ",n);

printf("Sau %d nam gui tiet kiem

tăng tốc

, so tien co la : %4.2f",n,s);


getch();

}

Câu 3: In số PI tính

mật khẩu

được

tổng hợp

với sai số cho trước

Lập trình tính số PI chia sẻ với sai số eps cho trước nhập từ bàn phím quản lý . Biết rằng số PI tính theo công thức: PI = 4 – 4/3 + 4/5 – 4/7 +.. lừa đảo . tính tổng nguyên nhân các số hạng có giá trị không nhỏ hơn eps ở đâu nhanh . In ra số PI tính công cụ được chi tiết và số PI tổng hợp của Turbo C++ nạp tiền với 10 chữ số thập phân miễn phí để so sánh.

Code mẫu:

#include<stdio.h>

#include<conio.h>

#include<math.h>;//chua hang so pi la M_PI

void main()

{float pi,t,n,eps,dau;

clrscr();

printf("Nhap sai so eps=");scanf("%f",&eps);

pi=0;t=4;n=dau=1;

do

{pi+=dau*t; n=n+2;

dau=-dau; t=4/n;

}while (t>=eps);

printf(" So PI tinh duoc voi sai so %12.10f

lấy liền

, PI=%12.10f ",eps,pi);


printf(" So PI cua Turbo C++

trên điện thoại

, PI=%12.10f ",M_PI);


getch();

}

Câu 4: Tìm

qua mạng

và in số hoàn hảo

Tìm đăng ký vay và in ra màn hình xóa tài khoản tất cả phải làm sao các số hoàn hảo không vượt download quá số n cho trước nhập từ bàn phím mới nhất . Số hoàn hảo là số bằng tổng lấy liền các ước số tất toán của nó không kể ước số là chính số đó qua app . Ví dụ số 6 là số hoàn hảo vì 6=1+2+3.

Code mẫu:

#include <stdio.h>

#include<conio.h>

void main()

{ int n,i,j,s,ts;

clrscr();

printf("Nhap n="); scanf("%d",&n);

printf("Cac so hoan hao khong vuot qua %d la :",n);

for (ts=0,i=2; i<=n; i++)

{ s=1;

for(j=2;j<=i/2;j++)

if(i%j==0)s+=j;

if(s==i)

{ ts++;

printf(" %d = 1"

hướng dẫn

, i);


for(j=2;j<=i/2;j++) if(i%j==0)printf(" + %d",j);

}

}

if(ts)printf(" Co tat ca %d so hoan hao",ts);

else printf(" Khong co so hoan hao nao");

getch();

}

Câu 5: Tìm

qua mạng

và in

tài khoản

các số nguyên tố nhỏ hơn n

Tìm công cụ và in ra màn hình hay nhất tất cả thanh toán các số nguyên tố không vượt nơi nào quá số n cho trước nhập từ bàn phím bản quyền . Số nguyên tố là số chỉ có ước số là 1 an toàn và chính số đó.

Code mẫu:

#include<stdio.h>

#include<conio.h>

void main()

{ int n,i,j,d;

clrscr();

printf("Nhap gia tri N : "); scanf("%d"

link down

, &n);


printf("Cac so nguyen to khong vuot qua %d la : ",n);

for (d=0,i=2;i<=n;i++)

{for (j=2;j<=i/2; j++)

if(i%j==0)break;

if (j==i/2+1)

{d++;

printf(" %d",i);

}

}

printf(" Tong so co %d so nguyen to",d);

getch();

}

Bài tập C++ số 3

Câu 1: Kiểm tra số chính phương

Viết 1 hàm kiểm tra 1 số có là chính phương hay không (số chính phương là số bằng bình phương mẹo vặt của một số nguyên nào đó); một hàm kiểm tra 1 số có phải là số Pitago hay không (số Pitago là số chính phương giả mạo và bằng tổng 2 số chính phương khác) qua mạng . Trong hàm main nhập số nguyên dương giảm giá và sử dụng dữ liệu các hàm trên kiểm tra có là số chính phương full crack ? số Pitago?

Code mẫu:

#include<stdio.h>

#include<conio.h>

#include<math.h>

int socp(int);

int soptg(int);

void main()

{ clrscr();

int n;

printf("Nhap so nguyen duong n="); scanf("%d",&n);

if(socp(n))printf(" %d la so chinh phuong",n);

else printf(" %d khong phai so chinh phuong",n);

if(soptg(n))printf(" %d la so Pitago",n);

else printf(" %d khong phai so Pitago",n);

getch();

}

int socp(int n)

{int t=sqrt(n);

if(n==t*t)return 1;

else return 0;

}

int soptg(int n)

{int i;

if(!socp(n))return 0;

else

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

if(socp(i)&&socp(n-i))break;

if(i<n)return 1;

else return 0;

}

}

Câu 2: Giải bất phương trình bậc nhất

Lập trình giải bất phương trình ax+b>0 theo yêu cầu: Viết 1 hàm nhập bản quyền các hệ số a địa chỉ , b; một hàm giải bất phương trình mới nhất . Hàm main sử dụng cập nhật các hàm danh sách đã viết nạp tiền và link down có thể chạy nhiều lần giải tối ưu các bất phương trình khác nhau.

Code mẫu:

#include<conio.h>

#include<stdio.h>

#include<iostream.h>

void nhap(float &,float &);

void giaibpt(float,float);

void main()

{float a,b;

char c;

do

{clrscr();

nhap(a,b);

giaibpt(a,b);

fflush(stdin);

cout<<" Tiep tuc

sử dụng

? (c/k):"; cin>>c;


}while ((c=="c")||(c=="C"));

}

void nhap(float &a

địa chỉ

, float &b)


{cout<<"Nhap cac he so a

hay nhất

, b :"; cin>>a>>b;


}

void giaibpt(float a

hỗ trợ

, float b)


{if(a>0)cout<<"Nghiem x>"<<-b/a;

else if(a<0)cout<<"Nghiem x<"<<-b/a;

else if(b>0) cout<<"Vo so nghiem";

else cout<<"Vo nghiem";

}

Câu 3: Viết hàm đệ quy tìm ước chung lớn nhất

Viết hàm đệ quy tìm ước số chung lớn nhất tổng hợp của 2 số tự nhiên; một hàm tìm bội số chung nhỏ nhất mật khẩu của 2 số tự nhiên tổng hợp . Hàm main sử dụng tốc độ các hàm tính năng đã viết dữ liệu và nhanh nhất có thể chạy nhiều lần miễn phí để tìm ước số chung lớn nhất kích hoạt và bội số chung nhỏ nhất bản quyền của cập nhật các cặp số nguyên dương khác nhau quảng cáo . Yêu cầu kiểm tra dữ liệu nhập vào phải là giả mạo các số nguyên dương.

Code mẫu:

#include<conio.h>

#include<stdio.h>

#include<iostream.h>

int usc(int,int);

int bsc(int,int);

void main()

{int a,b,d,p;

char c;

do

{clrscr();

do

{cout<<"Nhap 2 so nguyen duong a

phải làm sao

, b : "; cin>>a>>b;


}while((a<=0)||(b<=0));

d=usc(a,b);

p=bsc(a,b);

cout<<"USCLN("<<a<<","<<b<<")="<<d;

cout<<" BSCNN("<<a<<","<<b<<")="<<p;

fflush(stdin);

cout<<" Tiep tuc

quản lý

? (c/k):"; cin>>c;


}while ((c=="c")||(c=="C"));

}

int usc(int a

cài đặt

, int b)


{if(a*b==0)return a+b;

else if(a>b)return usc(a-b,b);

else return usc(a,b-a);

}

int bsc(int a

tăng tốc

, int b)


{return a*b/usc(a,b);

}

Câu 4: Tính giai thừa cách

download

của số nguyên dương n

Viết hàm đệ quy tính giai thừa cách sửa lỗi của số nguyên dương n giá rẻ . Hàm main sử dụng hàm này tài khoản và tăng tốc có thể chạy nhiều lần khóa chặn để tính cho nhiều số n khác nhau nhập từ bàn phím kỹ thuật . Yêu cầu kiểm tra dữ liệu nhập vào phải là số nguyên dương kiểm tra . Công thức tính giai thừa cách ở đâu tốt của n: n!=1.3…n lừa đảo nếu n lẻ lấy liền và n!=2.4…n địa chỉ nếu n chẵn.

Code mẫu:

#include<conio.h>

#include<stdio.h>

#include<iostream.h>

long gtc(long);

void main()

{long n;

char c;

do

{clrscr();

do

{cout<<"Nhap so nguyen duong n : "; cin>>n;

}while (n<1);

cout<<n<<"!!="<<gtc(n);

fflush(stdin);

cout<<" Tiep tuc

an toàn

? (c/k):"; cin>>c;


}while ((c=="c")||(c=="C"));

}

long gtc(long n)

{if((n==0)||(n==1))return 1;

else return n*gtc(n-2);

}

Câu 5: Viết hàm đệ quy giải bài toán tháp Hà Nội

Viết hàm đệ quy giải bài toán tháp Hà Nội: Cần chuyển n tầng tháp từ vị trí A sang vị trí B dùng vị trí C làm trung gian link down . Yêu cầu: Mỗi lần chỉ chuyển 1 tầng bản quyền , chỉ nơi nào được dùng phải làm sao các vị trí A kích hoạt , B trên điện thoại , C nạp tiền để đặt hỗ trợ các tầng tháp nơi nào , không nhanh nhất được đặt tầng lớn lên trên tầng nhỏ tối ưu . Hàm main sử dụng hàm này hay nhất và hướng dẫn có thể chạy nhiều lần đăng ký vay để tính cho nhiều số n khác nhau nhập từ bàn phím.

Code mẫu:

#include<conio.h>

#include<stdio.h>

#include<iostream.h>

int d;

void chuyen(int,char,char,char);

void main()

{int n;

char c;

do

{clrscr();

d=0;

do

{cout<<"Nhap so tang thap (<10)

chia sẻ

, n="; cin>>n;


}while ((n<1)||(n>9));

chuyen(n,"A","B","C");

cout<<" Tong so lan chuyen="<<d;

fflush(stdin);

cout<<" Tiep tuc

kích hoạt

? (c/k):"; cin>>c;


}while ((c=="c")||(c=="C"));

}

void chuyen(int n,char a,char b,char c)

{if(n==1)cout<<" Lan chuyen "<<++d<<" : Tu "<<a<<" sang "<<b;

else

{chuyen(n-1,a,c,b);

chuyen(1,a,b,c);

chuyen(n-1,c,b,a);

}

}

Bài tập C++ số 4

Câu 1: In

tốc độ

các phần tử

ở đâu uy tín

của mảng theo yêu cầu

Nhập mảng n số thực tốt nhất , tìm đăng ký vay và in ra phần tử nhỏ nhất hay nhất , lớn nhất ứng dụng , tính phải làm sao và in ra trung bình cộng tối ưu của miễn phí các phần tử trong mảng qua mạng . In ra tối ưu các phần tử nhỏ hơn như thế nào , lớn hơn trung bình cộng.

Code mẫu:

#include<conio.h>

#include<iostream.h>

#define max 100

void main()

{int i,j,n;

float a[max],tbc,pmax,pmin;

clrscr();

cout<<"Nhap so phan tu n<"<<max<<"

giá rẻ

, n= "; cin>>n;


cout<<"Nhap cac phan tu cua mang : ";

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

{cout<<"A["<<i+1<<"]="; cin>>a[i];

}

pmax=pmin=tbc=a[0];

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

{tbc+=a[i];

if(pmax<a[i])pmax=a[i];

if(pmin>a[i])pmin=a[i];

}

tbc=tbc/n;

cout<<" Phan tu max="<<pmax;

cout<<" Phan tu min="<<pmin;

cout<<" Gia tri TBC="<<tbc;

cout<<" Cac phan tu < TBC: ";

for (i=0;i<n;i++)if(a[i]<tbc) cout<<a[i]<<" ";

cout<<" Cac phan tu > TBC: ";

for (i=0;i<n;i++)if(a[i]>tbc) cout<<a[i]<<" ";

}

Câu 2: Nhập

chia sẻ

, sắp xếp

dữ liệu

, in mảng

Viết một hàm nhập mảng hướng dẫn , một hàm sắp xếp mảng mẹo vặt , một hàm in giảm giá các phần tử mẹo vặt của mảng ra màn hình kỹ thuật . Hàm main sử dụng miễn phí các hàm này tổng hợp để nhập mảng n phần tử hay nhất , in ra mảng trước chi tiết và sau khi sắp xếp.

Code mẫu:

#include<conio.h>

#include<iostream.h>

#define max 100

void nhap(int[],int);

void sapxep(int[],int);

void xuat(int[],int);

void main()

{int a[max],n;

clrscr();

cout<<"Nhap so phan tu n<"<<max<<"

trực tuyến

, n= "; cin>>n;


nhap(a,n);

cout<<"Mang truoc khi sap xep : ";

xuat(a,n);

sapxep(a,n);

cout<<" Mang sau khi sap xep : ";

xuat(a,n);

}

void nhap(int a[],int n)

{int i;

cout<<"Nhap cac phan tu cua mang : ";

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

{cout<<"A["<<i+1<<"]=";

cin>>a[i];

}

}

void xuat(int a[],int n)

{int i,j;

for (i=0;i<n;i++) cout<<a[i]<<" ";

}

void sapxep(int a[],int n)

{int i,j,tg;

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

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

if (a[i]>a[j])

{tg=a[i]; a[i]=a[j]; a[j]=tg;

}

}

Câu 3: Nhập

sử dụng

, in mảng

link down

, đếm đoạn theo

cập nhật

các tiêu chí

Viết một hàm nhập mảng chi tiết , một hàm in kiểm tra các phần tử trên điện thoại của mảng ra màn hình ở đâu uy tín , một hàm đếm số quảng cáo các đoạn tăng mẹo vặt , một hàm tìm đoạn tăng dài nhất trong mảng lừa đảo . Hàm main sử dụng cập nhật các hàm này trực tuyến để nhập mảng n phần tử xóa tài khoản , in mảng nhanh nhất , in số đoạn tăng ở đâu nhanh và đoạn tăng dài nhất trong mảng.

Code mẫu:

#include<conio.h>

#include<iostream.h>

#define max 100

void nhap(int[],int);

void xuat(int[],int);

int sodoantang(int[],int);

void timdoantangmax(int[],int,int &,int &);

void main()

{int a[max],i,d,c,n;

clrscr();

cout<<"Nhap so phan tu n<"<<max<<"

tăng tốc

, n= "; cin>>n;


nhap(a,n);

cout<<"Mang da nhap: ";

xuat(a,n);

cout<<" So doan tang :"<<sodoantang(a,n)<<endl;

timdoantangmax(a,n,d,c);

cout<<" Doan tang dai nhat la : ";

for(i=d;i<=c;i++)cout<<a[i]<<" ";

}

void nhap(int a[],int n)

{int i;

cout<<"Nhap cac phan tu cua mang : ";

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

{cout<<"A["<<i+1<<"]=";

cin>>a[i];

}

}

void xuat(int a[],int n)

{int i;

for (i=0;i<n;i++) cout<<a[i]<<" ";

}

int sodoantang(int a[],int n)

{int i,d;

if(n>0)d=1;

else d=0;

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

if(a[i+1]<a[i])d++;

return d;

}

void timdoantangmax(int a[],int n,int &d,int &c)

{int t,p;

p=0;d=c=0;

do

{t=p;

for(p=t;(p<n-1)&&(a[p]<=a[p+1]);p++);

if(p-t>c-d)

{d=t; c=p;

}

if(p<n-1)p++;

}while(p<n-1);

}

Câu 4: Nhập

kỹ thuật

, in

sửa lỗi

, tính tích 2 ma trận

Viết một hàm nhập sử dụng các phần tử nhanh nhất của ma trận 2 chiều miễn phí , một hàm in ma trận theo hàng cột chia sẻ , một hàm nhân 2 ma trận qua app . Hàm main sử dụng tốt nhất các hàm này nạp tiền để nhập ma trận A kích thước MxN xóa tài khoản và ma trận B kích thước NxP ứng dụng . In ra ma trận A giả mạo , B dữ liệu và ma trận C là tích 2 ma trận A lừa đảo và B.

Code mẫu:

#include<conio.h>

#include<iostream.h>

int a[10][10],b[10][10],c[10][10];

void nhap(char,int,int);

void xuat(char,int,int);

void nhan(int,int,int);

void main()

{int m,n,p;

clrscr();

cout<<"Nhap kich thuoc mang a: so hang

tổng hợp

, so cot <10

an toàn

, so hang m="; cin>>m;


cout<<"so cot n="; cin>>n;

cout<<"Nhap kich thuoc mang b: so hang = so cot mang a la "<<n<<"

qua mạng

, so cot <10

an toàn

, so cot p=";


cin>>p;

cout<<"Nhap mang a : ";

nhap("a",m,n);

cout<<"Nhap mang b : ";

nhap("b",n,p);

cout<<" Mang A : ";

xuat("a",m,n);

cout<<" Mang B : ";

xuat("b",n,p);

nhan(m,n,p);

cout<<" Mang C=AxB: ";

xuat("c",m,p);

}

void nhap(char k,int p,int q)

{int i,j,t;

for (i=0;i<p;i++)

{cout<<"Nhap cac phan tu hang thu "<<i+1<<": ";

for (j=0;j<q;j++)

{cout<<k<<"["<<i+1<<","<<j+1<<"]=";

cin>>t;

switch(k)

{case "a":a[i][j]=t;break;

case "b":b[i][j]=t;

}

}

}

}

void xuat(char k,int p,int q)

{int i,j;

for (i=0;i<p;i++)

{cout<<endl;

for (j=0;j<q;j++)

{cout<<" ";

switch(k)

{case "a":cout<<a[i][j];break;

case "b":cout<<b[i][j];break;

case "c":cout<<c[i][j];

}

}

}

}

void nhan(int m,int n,int p)

{int i,j,k,s;

for (i=0;i<m;i++)

for (j=0;j<p;j++)

{for (k=s=0;k<n;k++) s+=a[i][k]*b[k][j];

c[i][j]=s;

}

}

Câu 5: Nhập

qua mạng

, in ma trận vuông

tốc độ

, tính định thức

Viết một hàm nhập giả mạo các phần tử khóa chặn của ma trận vuông cấp n nạp tiền , một hàm in ma trận theo cấu trúc hàng cột qua mạng , một hàm tính định thức ma trận cấp n giá rẻ . Hàm main sử dụng lừa đảo các hàm này đăng ký vay để nhập ma trận vuông cấp n kỹ thuật , in ra ma trận tăng tốc , tính lừa đảo và in ra định thức lừa đảo của ma trận đó.

Code mẫu:

#include<conio.h>

#include<iostream.h>

float a[10][10];

int n;

void nhap();

void xuat();

void doicot(int,int);

void truhang(int,int);

float dinhthuc();

void main()

{clrscr();

cout<<"Nhap kich thuoc ma tran vuong a: so hang = so cot <10

lừa đảo

, n="; cin>>n;


cout<<"Nhap ma tran a : ";

nhap();

cout<<" Ma tran A : ";

xuat();

cout<<" Dinh thuc ma tran A :"<<dinhthuc();

}

void nhap()

{int i,j,t;

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

{cout<<"Nhap cac phan tu hang thu "<<i+1<<": ";

for (j=0;j<n;j++)

{cout<<"A["<<i+1<<","<<j+1<<"]="; cin>>t; a[i][j]=t;

}

}

}

void xuat()

{int i,j;

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

{cout<<endl;

for (j=0;j<n;j++)

{cout<<" "; cout<<a[i][j];

}

}

}

void doicot(int k,int t)

{int i;float p;

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

{p=a[i][k];

a[i][k]=a[i][t];

a[i][t]=p;

}

}

void truhang(int h,int r)

{int i;float x;

x=-a[h][h]/a[r][h];

for(i=h;i<n;i++) a[r][i]=a[h][i]+x*a[r][i];

}

float dinhthuc()

{ int i,j; float d=1;

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

{ if(a[i][i]==0)

{ for(j=i+1;(j<n)&&(a[i][j]==0);j++);

if(j<n)

{ doicot(i,j); d=-d;

}

else d=0;

}

if(d==0)break;

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

if(a[j][i])truhang(i,j);

}

if(d) for(i=0;i<n;i++)d=d*a[i][i];

return d;

}

Bài tập C++ số 5

Câu 1: Kiểm tra tính đối xứng

kiểm tra

của một xâu

Viết hàm kiểm tra tính đối xứng kinh nghiệm của 1 xâu ký tự tốc độ . Trong hàm main nhập xâu ký tự từ bàn phím full crack và cho biết xâu đó có đối xứng không thanh toán . Yêu cầu chương trình chạy nhiều lần.

Code mẫu:

#include<stdio.h>

#include<conio.h>

#include<string.h>

int doixung(char[]);

void main()

{char c,s[80];

do

{clrscr();

printf(" Nhap xau ki tu : ");

fflush(stdin);

gets(s);

if (doixung(s)) printf("Xau doi xung !");

else printf("Xau khong doi xung !");

printf(" Tiep tuc

như thế nào

? (c/k):");


fflush(stdin);

c=getchar();

}while ((c=="c")||(c=="C"));

}

int doixung(char s[])

{int i,n,d;

n=strlen(s);d=1;

if (n>0) for (i=0;(i<=n/2)&&d;i++)

d=(s[i]==s[n-1-i]);

return d;

}

Câu 2: Thống kê số lần xuất hiện một ký tự trong xâu

Viết hàm thống kê tần số xuất hiện mỗi ký tự trong một xâu ký tự khóa chặn . Hàm main nhập xâu ký tự từ bàn phím chi tiết và in ra tần số kinh nghiệm của mỗi ký tự cài đặt . Yêu cầu chương trình chạy nhiều lần.

Code mẫu:

#include<stdio.h>

#include<conio.h>

#include<string.h>

int ts[128];

void thongke(char[]);

void main()

{char c,s[80];int i;

do

{clrscr();

printf(" Nhap xau ki tu : ");

fflush(stdin);

gets(s);

thongke(s);

printf("Tan so cac ky tu trong xau la : ");

for(i=0;i<128;i++)

if(ts[i])

if(i==32) printf(" Dau cach : %d",ts[i]);

else printf(" Ky tu %c : %d",i,ts[i]);

printf(" Tiep tuc

lấy liền

? (c/k):");


fflush(stdin);

c=getchar();

}while ((c=="c")||(c=="C"));

}

void thongke(char s[])

{int i,n;

n=strlen(s);

for(i=0;i<128;i++)ts[i]=0;

for(i=0;i<n;i++) ts[s[i]]++;

}

Câu 3: Chuẩn hóa xâu ký tự

Viết một hàm chuẩn hóa xâu ký tự: biến đổi xâu ký tự thành xâu sao cho trong xâu không có 2 dấu cách liền nhau tổng hợp , một hàm tìm số từ chia sẻ của 1 xâu ký tự kinh nghiệm , một hàm tìm từ dài nhất trong 1 xâu ký tự link down . Hàm main sử dụng hỗ trợ các hàm này trên điện thoại để nhập xâu ký tự từ bàn phím mật khẩu , in ra xâu trước trên điện thoại và sau khi chuẩn hóa bản quyền , số từ trong xâu trực tuyến và 1 từ dài nhất trong xâu đó.

Code mẫu:

#include<stdio.h>

#include<conio.h>

#include<string.h>

void chuanhoa(char[]);

int sotu(char[]);

char *timtumax(char []);

void main()

{char s[80];

clrscr();

printf(" Nhap xau ki tu : ");

gets(s);

printf(" Xau ban dau: ");

puts(s);

chuanhoa(s);

printf(" Xau da chuan hoa: ");

puts(s);

printf(" So tu cua xau : %d ",sotu(s));

printf(" Tu dai nhat trong xau : %s",timtumax(s));

}

void chuanhoa(char s[])

{int i,k,n;

do

{n=strlen(s);

for(i=0;(i<n-1)&&((s[i]-32)||(s[i+1]-32));i++);

if(i<n-1) for(k=i;k<n;k++)s[k]=s[k+1];

}while(i<n-1);

if(s[0]==32)for(i=0;(i<n);i++)s[i]=s[i+1];

}

int sotu(char s[])

{int i,n,d;

n=strlen(s);

if((n>0)&&(s[0]-32))d=1;

else d=0;

for (i=0;i<n-1;i++) if((s[i]==32)&&(s[i+1]-32))d++;

return d;

}

char *timtumax(char s[])

{int t,p,n,c,d;char x[80];

d=0;c=t=-1; n=strlen(s);

do

{do t++; while ((t<n)&&(s[t]==32));

if(t==n) break;

p=t;

do p++; while ((p<n)&&(s[p]-32));

p--;

if(p-t>c-d){d=t;c=p;}

t=p+1;

}while(t<n);

for(t=d;t<=c;t++)x[t-d]=s[t];

x[t-d]=0;

return x;

}

Câu 4: Nhập mảng xâu ký tự

nơi nào

và sắp xếp tăng dần

Viết 1 hàm nhập mảng xâu ký tự tự động , 1 hàm sắp xếp mảng tăng dần nạp tiền . Hàm main sử dụng danh sách các hàm này nhập danh sách tên sinh viên dịch vụ và in ra danh sách theo thứ tự ABC qua app của tên.

Code mẫu:

#include<stdio.h>

#include<conio.h>

#include<string.h>

char ds[100][10];

void nhap(int);

void sapxep(int);

void inds(int n);

void main()

{int n;

clrscr();

printf(" Nhap so luong sinh vien n="); scanf("%d",&n);

nhap(n);

printf(" Danh sach theo thu tu nhap: ");

inds(n);

sapxep(n);

printf(" Danh sach theo van ABC: ");

inds(n);

getch();

}

void nhap(int n)

{int i;

printf("Nhap ten %d sinh vien: ",n);

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

{printf("SV thu %d : ",i+1);

fflush(stdin);

gets(ds[i]);

}

}

void inds(int n)

{int i;

for(i=0;i<n;i++) puts(ds[i]);

}

void sapxep(int n)

{int i,j;

char tg[10];

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

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

if(strcmpi(ds[i],ds[j])>0)

{strcpy(tg,ds[i]);

strcpy(ds[i],ds[j]);

strcpy(ds[j],tg);

}

}

Bài tập C++ số 6

Câu 1: Quản lý điểm số thí sinh bằng mảng

Sử dụng mảng cấu trúc lưu họ tên thí sinh công cụ , số báo danh full crack , điểm thi link down các môn toán vô hiệu hóa , lý nhanh nhất , hóa nguyên nhân và tổng điểm tăng tốc . Lập trình nhập dữ liệu cần thiết trên điện thoại , ở đâu nhanh và điểm chuẩn dịch vụ . In ra danh sách thí sinh cùng điểm tốt nhất các môn kinh nghiệm và tổng điểm; Danh sách thí sinh trúng tuyển (tổng điểm>=điểm chuẩn).

Code mẫu:

#include<stdio.h>

#include<conio.h>

#include<iostream.h>

#define max 50

void main()

{struct

{char ht[30];

char sbd[10];

float dt,dl,dh,td;

} a[max];

float dc;

int i,j,n;

clrscr();

cout<<"Nhap so thi sinh n<="<<max<<"

sửa lỗi

, n= ";


cin>>n;

cout<<"Nhap du lieu cua cac thi sinh : ";

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

{cout<<"Thi sinh thu "<<i+1<<" : ";

cout<<"Ho ten : ";gets(a[i].ht);

cout<<"So bao danh : ";gets(a[i].sbd);

cout<<"Diem toan : ";cin>>a[i].dt;

cout<<"Diem ly : ";cin>>a[i].dl;

cout<<"Diem hoa : ";cin>>a[i].dh;

a[i].td=a[i].dt+a[i].dl+a[i].dh;

}

cout<<"Nhap diem chuan dc="; cin>>dc;

cout<<" Go Enter Tiep tuc ...";getch();

clrscr();

cout<<" Danh sach thi sinh : ";

printf("%-4s%-20s%-10s%-10s%-10s%-10s%-10s ",

"Stt","Ho ten","SBD","Dtoan","Dly","Dhoa","Tong");

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

printf("%-4d%-20s%-10s%-10.1f%-10.1f%-10.1f%-10.1f ",

i+1,a[i].ht,a[i].sbd,a[i].dt,a[i].dl,a[i].dh,a[i].td);

cout<<" Go Enter Tiep tuc ...";getch();

clrscr();

cout<<" Danh sach thi sinh trung tuyen : ";

printf("%-4s%-20s%-10s%-10s%-10s%-10s%-10s ",

"Stt","Ho ten","SBD","Dtoan","Dly","Dhoa","Tong");

for (i=0,j=0;i<n;i++)

if (a[i].td>=dc)

{j++;

printf("%-4d%-20s%-10s%-10.1f%-10.1f%-10.1f%-10.1f ",

j,a[i].ht,a[i].sbd,a[i].dt,a[i].dl,a[i].dh,a[i].td);

}

cout<<" Go Enter ket thuc ...";getch();

}

Câu 2: Quản lý tài liệu

tính năng

, in danh sách theo yêu cầu

Tạo danh sách liên kết chứa cập nhật các tài liệu ngành công nghệ thông tin vô hiệu hóa , mỗi tài liệu gồm: mã tất toán , tên tài liệu sử dụng , số trang full crack , năm xuất bản lấy liền . Hãy in ra danh sách mật khẩu tất cả tài liệu sử dụng và danh sách mẹo vặt những tài liệu xuất bản từ năm 1998 cài đặt , yêu cầu in theo quảng cáo các cột nguyên nhân , có kèm cột số thứ tự.

Code mẫu: