SlideShare a Scribd company logo
Bài 1:
Chương trình cho phép nhập vào một sốnguyên dương, là lượng điện tiêu thụ(kWh) trong
tháng của nhà bạn. Chương trình tính và in sốtiền nhà bạn phải trảcho tháng đó được tính
theo giá định mức nhưbảng sau:
100 kwh đầu tiên 50 kwh tiếp 50 kwh tiếp 100 kwh tiếp Từ300 kwh trởlên
550 VND 900 VND 1250 VND 1450 VND 1700 VND
và phải đóng thuếgiá trịgia tăng 10%
Bài 2:
Nhập vào một sốnguyên có 2 chữsố, hãy in ra cách đọc của nó.
Bài 3:
Nhập vào một sốnguyên có 3 chữsố, hãy in ra cách đọc của nó.
nt N; //Sốcó 3 chữsốcần đọc
int tram, chuc, donvi;
tram = N / 100;
donvi = N % 10;
chuc = (N – tram * 100) / 10;
Bài 4:
Viết chương trình tính n!! với n!! = 1.3.5…n nếu n lẻ, n!! = 2.4.6…n nếu n chẵn.
HD:
Ta cần xác định i chạy từ1 hay 2 phụthuộc vào n chẵn hay lẻ?
for(int i = (n % 2)? 1 : 2; i <= n; i += 2) gt *= i;
Bài 5:
Viết chương trình nhập vào sốnguyên n. Tính và in ra các tổng sau:
Bài 6:
Viết chương trình nhập vào một sốnguyên dương, kiểm tra đó có phải là sốnguyên tốhay
không?
Bài 7:
Viết chương trình nhập vào một sốnguyên dương, xuất ra dạng phân tích thừa sốnguyên
tốcủa số đó.
HD: int n;
cout<<”Nhap n: “;
cin>>n;
cout<<n<<" = ";
int i= 2;
while(i <= n)
{
if(n % i == 0){
cout<<i;
n /= i;
if(n != 1) cout<<"*";
}
else i++;
}
Bài 8:
Viết chương trình tìm ước chung lớn nhất, bội chung nhỏnhất của 2 sốnguyên M, N nhập
từbàn phím.
Bài 9:
Viết chương trình nhận 1 giá trịnguyên dài và cho hiển thịra màn hình số đó dạng: hệ10,
hệ16, hệ8, hệ2.
Bài 10:
Bài tập 44: (*)
Viết chương trình tính sin(x) theo công thức xấp xỉ:
với độ chính xác 0.00001. Tức là tính cho tới n
sao cho: 00001 .0
//Chuong trinh nhap mot so nguyen va in ket qua co phai la so chinh phuong hay khong
#include<stdio.h>
#include<conio.h>
#include<math.h>
int main()
{
int i,n,s;
float c;
printf("Ban hay nhap mot so nguyen: n"); scanf("%d",&n);
if (n<=0) printf("So ",n," khong phai so chinh phuong n"); else
{
for (i=1;i<=n;i++)
{
if(i*i==n) s=1;
}
if(s==1) printf("so ban nhap la so chinh phuong");
else printf("so ban nhap khong la so chinh phuong");
}
getch();
}
Bài 11: Viết chương trình nhập vào mộtsốnguyên dương,xuất ra dạng phân tích thừa sốnguyên
HD:
int n;
cout<<”Nhap n: “;
cin>>n;
cout<<n<<" = ";
int i= 2;
while(i <= n)
{
if(n % i == 0){
cout<<i;
n /= i;
if(n != 1) cout<<"*";
}
else i++;
}
#include<conio.h>
#include<stdio.h>
#include<malloc.h>
int main()
{
int i=0,coso=0,n=0,du=0,*mang;
mang=(int*)malloc(100*sizeof(int));
printf("Nhap vao mot con so: ");scanf("%d",&n);
printf("Nhap vao co so muon chuyen doi: ");scanf("%d",&coso);
int m=n;
do
{
du=n%coso;
n/=coso;
mang[i]=du;
i++;
}while(n>0);
if(coso==16)
{
printf("So %d sau khi chuyen sang co so %d: n",m,coso);
for(int j=i-1;j>=0;j--)
{
switch(mang[j])
{
case 10: printf("A");
break;
case 11: printf("B");
break;
case 12: printf("C");
break;
case 13: printf("D");
break;
case 14: printf("E");
break;
case 15: printf("F");
break;
default: printf("%d",mang[j]);
}
}
}
else
{
printf("So %d sau khi chuyen sang co so %d: n",m,coso);
for(int j=i-1;j>=0;j--)
{
printf("%d",mang[j]);
}
}
getch();
return 0;
}
#include <stdio.h>
#include <conio.h>
void chuyendoi(int so,int he)
{
if (so>=he) chuyendoi(so/he,he);
printf("%c",(so%he)["0123456789ABCDEF"]);
}
void main(void)
{
int n,a;
printf("Nhap vao so : ");
scanf("%d",&n);
printf("Chuyen sang he co so : ");
scanf("%d",&a);
chuyendoi(n,a);
getch();
}
#include "stdio.h"
#include "conio.h"
main()
{
int i=0,j,n,m,du,mang[20];
clrscr();
printf("Nhap so n: ");
scanf("%d",&n);
m = n;
do
{
du = m%2;
mang[i] = du;
m=m/2;
i++;
} while(m>0);
printf("nSo %d o dang co so 2 la: ",n);
for (j=i;j>=0;j--)
printf("%d",mang[j]);
printf("nSo %d o dang co so 8 la: %o",n,n);
printf("nSo %d o dang co so 16 la: %x",n,n);
getch();
return 0;
}
Viết chương trình tính
Với x và độ chính xác Eps thực nhập từ bàn phím, tức là tính cho đến khi nào
abs((x^(2n+1))/((2n+1)!)) <= Eps thì dừng. In kết quả ra màn hình.
#include "stdio.h"
#include "conio.h"
#include "math.h"
main()
{
float Eps,eps,sinx,x,ra;
int n,i,j,gt;
clrscr();
printf("Nhap x: ");
scanf("%f",&x);
ra = x*3.14159/180;
printf("Nhap phan chinh xac Eps: ");
scanf("%f",&eps);
sinx=0;Eps=0;n=0;
do
{
gt=1;
j=2*n+1;
for (i=1;i<=j;i++)
gt=gt*i;
Eps = pow(ra,j)/gt;
if (n%2==0)
sinx = sinx + Eps;
else sinx = sinx - Eps;
n++;
//printf("ngt: %d,x: %f",gt,x);
//printf("nEps: %f",Eps);
} while (Eps>eps);
printf("Ket qua: %f",sinx);
getch();
return 0;
}
Tìm giá trị lớn nhất và đếm các giá trị lớn nhất của nửa dưới đường chéo phụ của một
ma trận cấp A[n,n]. In ma trận cùng kết quả tìm được ra màn hình.
#include "stdio.h"
#include "conio.h"
main()
{
int i,j, n,t;
float a[100][100],max;
clrscr();
printf("Nhap so n: ");
scanf("%d",&n);
if (n>0)
{
for (i=0;i<n;i++)
for (j=0;j<n;j++)
{
printf("Nhap gia tri a[%d][%d]: ",i,j);
scanf("%f",&a[i][j]);
}
max = a[2][n-1];
for (i=1;i<n;i++)
for (j=n-i;j<n;j++)
if (max < a[i][j]) max = a[i][j];
t=0;
for (i=1;i<n;i++)
for (j=n-i;j<n;j++)
if (a[i][j] == max) t=t+1;
printf("nMa tran A:"); printf("n");
for (i=0;i<n;i++)
{
for (j=0;j<n;j++)
printf("%6.2f",a[i][j]);
printf("n");
}
printf("nGia tri lon nhat la %6.2f",max);
printf("nTim duoc %d vi tri.",t);
}
else printf("Ban phai nhap so nguyen duong!");
getch();
return 0;
}
Tính tích hai ma trận C[n,p] = A[n,m] x B[m,p]. In các ma trận ra màn hình.
#include "stdio.h"
#include "conio.h"
main()
{
int i,j,t,n1,n2,m1,m2;
float a[100][100],b[100][100],c[100][100];
clrscr();
printf("nNhap cap cua ma tran a: ");
scanf("%d%d",&n1,&n2);
printf("nNhap cap cua ma tran b: ");
scanf("%d%d",&m1,&m2);
if (n2!=m1) printf("Hai ma tran khong nhan duoc!");
else if (n1>0&&n2>0&&m2>0)
{
for (i=0;i<n1;i++)
for (j=0;j<n2;j++)
{
printf("Nhap gia tri a[%d][%d]: ",i,j);
scanf("%f",&a[i][j]);
}
for (i=0;i<n2;i++)
for (j=0;j<m2;j++)
{
printf("Nhap gia tri b[%d][%d]: ",i,j);
scanf("%f",&b[i][j]);
}
for (i=0;i<n1;i++)
for (j=0;j<m2;j++)
for (t=0;t<n2;t++)
c[i][j] = c[i][j] + (a[i][t])*(b[t][j]) ;
printf("Ma tran a: n");
for (i=0;i<n1;i++)
{
for (j=0;j<n2;j++)
printf("%6.2f",a[i][j]);
printf("n");
}
printf("Ma tran b: n");
for (i=0;i<m1;i++)
{
for (j=0;j<m2;j++)
printf("%6.2f",b[i][j]);
printf("n");
}
printf("Ma tran c: n");
for (i=0;i<n1;i++)
{
for (j=0;j<m2;j++)
printf("%6.2f",c[i][j]);
printf("n");
}
}
else printf("Ban phai nhap so nguyen duong!");
getch();
return 0;
}
Viết chương trình nhập vào số nguyên dương n. Sau đó in ra màn hình ma trận xoáy
A[n,n] theo dạng:
123
894
7 6 5 với n = 3
#include "stdio.h"
#include "conio.h"
main()
{
int i,j,n,v,m, A[100][100];
clrscr();
printf("Nhap so chieu n cua ma tran vuong a: ");
scanf("%d",&n);
if (n%2==0) m=n/2;
else { m=n/2+1; A[n/2][n/2]=n*n;}
v=1;
for (i=0;i<m;i++)
{
for (j=i;j<n-i-1;j++) { A[i][j] = v; ++v; }
for (j=i;j<n-i-1;j++) { A[j][n-i-1] = v; ++v; }
for (j=n-i-1;j>i;j--) { A[n-i-1][j] = v; ++v; }
for (j=n-i-1;j>i;j--) { A[j][i] = v; ++v; }
}
for (i=0;i<n;i++)
{
for (j=0;j<n;j++) printf("%6d",A[i][j]);
printf("n");
}
getch();
return 0;
}
Viết chương trình nhập vào hai dãy số nguyên theo chiều tăng dần. Sau đó trộn hai dãy
này lại thành dãy thứ ba vẫn theo chiều tăng dần mà không cần sắp xếp lại. In ra màn
hình ba dãy.
#include "stdio.h"
#include "conio.h"
main()
{
int i,j,t,n,m,p,a[100],b[100],c[100];
clrscr();
printf("nSo phan tu cua day thu nhat: ");
scanf("%d",&n);
printf("nSo phan tu cua day thu hai: ");
scanf("%d",&m);
if (n>0&&m>0)
{
for (i=0;i<n;i++)
{
printf("nNhap phan tu thu %d cua day thu nhat: ",i+1);
scanf("%d",&a[i]);
}
for (i=0;i<m;i++)
{
printf("nNhap phan tu thu %d cua day thu hai: ",i+1);
scanf("%d",&b[i]);
}
p = m + n;
t=j=0;
for (i=0;i<p;i++)
{
if (b[j] > a[t])
{
c[i] = a[t];
++t;
if (t==n) { c[i+1] = b[j]; break; }
}
else
{
c[i] = b[j];
++j;
if (j==m) { c[i+1] = a[t]; break; }
}
}
printf("nDay thu nhat: ");
for (i=0;i<n;i++)
printf("%4d",a[i]);
printf("nDay thu hai: ");
for (i=0;i<m;i++)
printf("%4d",b[i]);
printf("nDay thu ba: ");
for (i=0;i<p;i++)
printf("%4d",c[i]);
}
else printf("Ban phai nhap so nguyen duong!");
getch();
return 0;
}
Bài 4: Viết chương trình tính tổng hai ma trận C(nxm) = A(nxm) + B(nxm), trong đó có
viết hàm nhạp ma trận, hàm in ma trận. In các ma trận ra màn hình.
#include "stdio.h"
#include "conio.h"
void nhap(float (*a)[100],int hang,int cot,char ch)
{
int i,j;
for (i=0;i<hang;i++)
for (j=0;j<cot;j++)
{
printf("Nhap phan tu %c[%d][%d]: ",ch,i,j);
scanf("%f",&a[i][j]);
}
}
void in(float (*a)[100],int hang,int cot)
{
int i,j;
for (i=0;i<hang;i++)
{
for (j=0;j<cot;j++)
printf("%5.2f",a[i][j]);
printf("n");
}
}
void cong(float (*a)[100],float (*b)[100],float (*c)[100],int hang,int cot)
{
int i,j;
for (i=0;i<hang;i++)
for (j=0;j<cot;j++)
c[i][j] = a[i][j] + b[i][j];
}
int main()
{
float a[100][100],b[100][100],c[100][100];
int hang,cot;
clrscr();
printf("Nhap so hang, so cot cua hai ma tran: ");
scanf("%d%d",&hang,&cot);
nhap(a,hang,cot,'A');
nhap(b,hang,cot,'B');
cong(a,b,c,hang,cot);
printf("nMa tran A: n");
in(a,hang,cot);
printf("nMa tran B: n");
in(b,hang,cot);
printf("nMa tran C: n");
in(c,hang,cot);
getch();
return 0;
}
Bài 5: Viết chương trình tính tích hai ma trận C(nxm) = A(nxp) + B(pxm), trong đó có viết
hàm nhập ma trận, hàm in ma trận. In các ma trận ra màn hình.
#include "stdio.h"
#include "conio.h"
void nhap(float (*a)[100],int hang,int cot,char ch)
{
int i,j;
for (i=0;i<hang;i++)
for (j=0;j<cot;j++)
{
printf("nNhap phan tu %c[%d][%d]: ",ch,i,j);
scanf("%f",&a[i][j]);
}
}
void in(float (*a)[100],int hang,int cot)
{
int i,j;
for (i=0;i<hang;i++)
{
for (j=0;j<cot;j++)
printf("%6.2f",a[i][j]);
printf("n");
}
}
void nhan(float (*a)[100],float (*b)[100],float (*c)[100],int hang1,int cot1,int
cot2)
{
int i,j,t;
for (i=0;i<hang1;i++)
for (j=0;j<cot2;j++)
for (t=0;t<cot1;t++)
c[i][j] = c[i][j]+a[i][t]*b[t][j];
}
int main()
{
float a[100][100],b[100][100],c[100][100];
int hang1,cot1,hang2,cot2;
clrscr();
printf("nNhap so hang va so cot cua ma tran A: ");
scanf("%d%d",&hang1,&cot1);
printf("nNhap so hang va so cot cua ma tran B: ");
scanf("%d%d",&hang2,&cot2);
if (cot1!=hang2)
{
printf("nHai ma tran khong the nhan duoc!");
return 0;
}
nhap(a,hang1,cot1,'A');
nhap(b,hang2,cot2,'B');
nhan(a,b,c,hang1,cot1,cot2);
printf("nMa tran A: n");
in(a,hang1,cot1);
printf("nMa tran B: n");
in(b,hang2,cot2);
printf("nMa tran C: n");
in(c,hang1,cot2);
getch();
return 0;
}
Bài 7: Viết hàm tìm ước chung lớn nhất của hai số nguyên dương theo phương pháp đệ
quy.
#include <stdio.h>
#include "conio.h"
int UCLN(int a,int b)
{
int m,n;
m=a;n=b;
if (m>n) m=m-n;
else if (n>m) n=n-m;
if (m!=n) m=UCLN(m,n);
return m;
}
int main()
{
int a,b;
clrscr();
printf("nNhap hai so : ");
scanf("%d%d",&a,&b);
printf("nUCLN cua hai so %d va %d la: %d",a,b,UCLN(a,b));
getch();
return 0;
}
pro nào giúp mình với
vBài 1: Đếm xem có bao nhiêu từ trong s. Xuất các từ trên các dòng liên tiếp.
vBài 2: Tìm từ có chiều dài dài nhất và in ra.
vBài 3: Viết hàm upper đổi toàn bộ các ký tự sang ký tự hoa (giống hàm strupr)
vBài 4: Viết hàm lower đổi toàn bộ các ký tự sang ký tự thường (giống hàm strlwr)
vBài 5: Viết hàm proper đổi các ký tự đầu tiên của mỗi từ sang ký tự hoa.
vBài 6: Viết hàm ltrim cắt bỏ các khoảng trắng bên trái chuỗi.
vBài 7: Viết hàm rtrim cắt bỏ các khoảng trắng bên phải chuỗi.
vBài 8: Viết hàm trim bỏ toàn bộ khoảng trắng đầu chuỗi, cuối chuỗi và giữa 2 từ trong s
chỉ còn 1 khoảng trắng.
vBài 9: Viết hàm del_char xóa các ký tự chỉ định.
vBài 9a: Viết hàm del_char xóa các ký tự chỉ định từ một vị trí chỉ định.
vBài 10: Viết hàm char *ins_s(char *subs, char *s, int pos) chèn thêm subs vào s tại vị trí
chỉ định pos.
vBài 11: Viết hàm char *del_s(char *s, int pos, int len) xóa len ký tự trong chuỗi s từ vị trí
chỉ định pos.
vBài 12: Viết hàm char *left(char *s, int len): trích chuỗi con từ chuỗi s (từ bên trái sang
dài len ký tự)
vBài 13: Viết hàm char *right(char *s, int len).
vBài 14: Viết hàm char *sub(char *s, int pos, int len): trích chuỗi con từ chuỗi s (từ vị trí
pos dài len ký tự)
vBài 15: Viết hàm char *revsub(char *s, int pos, int len): tương tự sub nhưng trích từ
phải sang trái.
Bài 9:
void Strdel(char s[], int n)
{
for (int i = n; i < Strlen(s) - 1; i++)
{
s[i] = s[i + 1];
}
s[Strlen(s)-1] = '0';
}
void Strchdel(char s[])
{
int i = 0;
printf("Choose character to delete: ");
char c;
scanf("%c", &c);
while (i < Strlen(s))
{
if (s[i] == c)
{
Strdel(s, i);
}
else
{
i++;
}
}
}
Xuất ra họ và tên
#include<iostream.h>
#include<conio.h>
#include<string.h>
//using namespace std;
void main()
{
char str[30];
cout<<" Xau : ";gets(str);
int n=strlen(str);
int i,k,k1;
for(i=n-1;i>=0;i--)
{
if(str[i]==' ')
{
k=i;break;
}
}
for(i=0;i<=n-1;i++)
{
if(str[i]==' ')
{
k1=i;break;
}
}
cout<<"n TEN :";
for(i=k+1;i<=n-1;i++)
{
cout<<str[i];
}
cout<<"n TEN DEM :";
for(i=k1+1;i<k;i++)
{
cout<<str[i];
}
cout<<"n HO :";
for(i=0;i<k1;i++)
{
cout<<str[i];
}
getch();
}
Tìm kiếm phần tửx trên danh sách theo các tiêu chí sau:
o Một sốx cho trước,
o Sốlớn nhất,
o Sốbé nhất,
o Sốnguyên tốdầu tiên,
o Sốchính phương đầu tiên,
o Sốnguyên tốlớn nhất,
 Sốnguyên tố bé nhất.

More Related Content

What's hot

Exercise array
Exercise arrayExercise array
Exercise array
Tuấn Bùi
 
Bài tập CTDL và GT 4
Bài tập CTDL và GT 4Bài tập CTDL và GT 4
Bài tập CTDL và GT 4
Hồ Lợi
 
Hướng dẫn làm bt về chuỗi.doc
Hướng dẫn làm bt về chuỗi.docHướng dẫn làm bt về chuỗi.doc
Hướng dẫn làm bt về chuỗi.docTrần Văn Nam
 
Nmlt c05 cau_lenhlap
Nmlt c05 cau_lenhlapNmlt c05 cau_lenhlap
Nmlt c05 cau_lenhlap
Minh Ngoc Tran
 
Cpl test1%20key
Cpl test1%20keyCpl test1%20key
Cpl test1%20keyHồ Lợi
 
Local sakainame 501127 ktl_trình hlmt1 a01 fall 2013 _ modules
Local sakainame   501127 ktl_trình hlmt1 a01 fall 2013 _ modulesLocal sakainame   501127 ktl_trình hlmt1 a01 fall 2013 _ modules
Local sakainame 501127 ktl_trình hlmt1 a01 fall 2013 _ modulesTrần Văn Nam
 
Bài tập ôn lập trình
Bài tập ôn lập trìnhBài tập ôn lập trình
Bài tập ôn lập trình
Thai Hoc Vu
 
Programe C
Programe CPrograme C
Programe C
Huynhtho888
 
Bai tapktlt phan1
Bai tapktlt phan1Bai tapktlt phan1
Bai tapktlt phan1
Minh Ngoc Tran
 
Bài tập nhập môn lập trình
Bài tập nhập môn lập trìnhBài tập nhập môn lập trình
Bài tập nhập môn lập trìnhHuy Rùa
 

What's hot (17)

Exercise array
Exercise arrayExercise array
Exercise array
 
Bài tập CTDL và GT 4
Bài tập CTDL và GT 4Bài tập CTDL và GT 4
Bài tập CTDL và GT 4
 
Hướng dẫn làm bt về chuỗi.doc
Hướng dẫn làm bt về chuỗi.docHướng dẫn làm bt về chuỗi.doc
Hướng dẫn làm bt về chuỗi.doc
 
Nmlt c05 cau_lenhlap
Nmlt c05 cau_lenhlapNmlt c05 cau_lenhlap
Nmlt c05 cau_lenhlap
 
Cpl test1%20key
Cpl test1%20keyCpl test1%20key
Cpl test1%20key
 
Tut4 solution
Tut4 solutionTut4 solution
Tut4 solution
 
Local sakainame 501127 ktl_trình hlmt1 a01 fall 2013 _ modules
Local sakainame   501127 ktl_trình hlmt1 a01 fall 2013 _ modulesLocal sakainame   501127 ktl_trình hlmt1 a01 fall 2013 _ modules
Local sakainame 501127 ktl_trình hlmt1 a01 fall 2013 _ modules
 
Bài tập ôn lập trình
Bài tập ôn lập trìnhBài tập ôn lập trình
Bài tập ôn lập trình
 
Pointer
PointerPointer
Pointer
 
Programe C
Programe CPrograme C
Programe C
 
Stl string
Stl stringStl string
Stl string
 
Chuong 2
Chuong 2Chuong 2
Chuong 2
 
Tut5 solution
Tut5 solutionTut5 solution
Tut5 solution
 
J2 me 07_2
J2 me 07_2J2 me 07_2
J2 me 07_2
 
Tut6 solution
Tut6 solutionTut6 solution
Tut6 solution
 
Bai tapktlt phan1
Bai tapktlt phan1Bai tapktlt phan1
Bai tapktlt phan1
 
Bài tập nhập môn lập trình
Bài tập nhập môn lập trìnhBài tập nhập môn lập trình
Bài tập nhập môn lập trình
 

Similar to Chuyen doi he so

Bài tập mẫu C và C++ có giải
Bài tập mẫu C và C++ có giảiBài tập mẫu C và C++ có giải
Bài tập mẫu C và C++ có giải
Trung Thanh Nguyen
 
Giao trinh bai tap c va c++
Giao trinh bai tap c va c++Giao trinh bai tap c va c++
Giao trinh bai tap c va c++Congdat Le
 
1 Gioi Thieu Chung
1 Gioi Thieu Chung1 Gioi Thieu Chung
1 Gioi Thieu ChungCuong
 
Nmlt C05 Cau Lenh Lap
Nmlt C05 Cau Lenh LapNmlt C05 Cau Lenh Lap
Nmlt C05 Cau Lenh LapCuong
 
Bài tập nhập môn lập trình
Bài tập nhập môn lập trìnhBài tập nhập môn lập trình
Bài tập nhập môn lập trình
Long Kingnam
 
Bai tap java
Bai tap javaBai tap java
Bai tap java
Phan van giap
 
Session 4
Session 4Session 4
Session 4
pnanhvn
 
Sang tao4
Sang tao4Sang tao4
Sang tao4hieusui
 
Neural Network from Scratch
Neural Network from ScratchNeural Network from Scratch
Neural Network from Scratch
TechMaster Vietnam
 
Bài tập CTDL và GT 8
Bài tập CTDL và GT 8Bài tập CTDL và GT 8
Bài tập CTDL và GT 8
Hồ Lợi
 

Similar to Chuyen doi he so (20)

Bài tập mẫu C và C++ có giải
Bài tập mẫu C và C++ có giảiBài tập mẫu C và C++ có giải
Bài tập mẫu C và C++ có giải
 
Giao trinh bai tap c va c++
Giao trinh bai tap c va c++Giao trinh bai tap c va c++
Giao trinh bai tap c va c++
 
Giao trinh bai tap c va c++
Giao trinh bai tap c va c++Giao trinh bai tap c va c++
Giao trinh bai tap c va c++
 
Nhung bai mau lap trinh c
Nhung bai mau lap trinh cNhung bai mau lap trinh c
Nhung bai mau lap trinh c
 
1 Gioi Thieu Chung
1 Gioi Thieu Chung1 Gioi Thieu Chung
1 Gioi Thieu Chung
 
Ontap ltc
Ontap ltcOntap ltc
Ontap ltc
 
Nmlt C05 Cau Lenh Lap
Nmlt C05 Cau Lenh LapNmlt C05 Cau Lenh Lap
Nmlt C05 Cau Lenh Lap
 
Ktlt lab full
Ktlt lab fullKtlt lab full
Ktlt lab full
 
Bài tập nhập môn lập trình
Bài tập nhập môn lập trìnhBài tập nhập môn lập trình
Bài tập nhập môn lập trình
 
Bai tap java
Bai tap javaBai tap java
Bai tap java
 
Bai tap mau pascal
Bai tap mau pascalBai tap mau pascal
Bai tap mau pascal
 
Session 4
Session 4Session 4
Session 4
 
Bai de quy
Bai de quyBai de quy
Bai de quy
 
Sang tao4
Sang tao4Sang tao4
Sang tao4
 
Neural Network from Scratch
Neural Network from ScratchNeural Network from Scratch
Neural Network from Scratch
 
Khao sat
Khao satKhao sat
Khao sat
 
Khao sat
Khao satKhao sat
Khao sat
 
Lesson08
Lesson08Lesson08
Lesson08
 
Bài tập CTDL và GT 8
Bài tập CTDL và GT 8Bài tập CTDL và GT 8
Bài tập CTDL và GT 8
 
344444
344444344444
344444
 

Chuyen doi he so

  • 1. Bài 1: Chương trình cho phép nhập vào một sốnguyên dương, là lượng điện tiêu thụ(kWh) trong tháng của nhà bạn. Chương trình tính và in sốtiền nhà bạn phải trảcho tháng đó được tính theo giá định mức nhưbảng sau: 100 kwh đầu tiên 50 kwh tiếp 50 kwh tiếp 100 kwh tiếp Từ300 kwh trởlên 550 VND 900 VND 1250 VND 1450 VND 1700 VND và phải đóng thuếgiá trịgia tăng 10% Bài 2: Nhập vào một sốnguyên có 2 chữsố, hãy in ra cách đọc của nó. Bài 3: Nhập vào một sốnguyên có 3 chữsố, hãy in ra cách đọc của nó. nt N; //Sốcó 3 chữsốcần đọc int tram, chuc, donvi; tram = N / 100; donvi = N % 10; chuc = (N – tram * 100) / 10; Bài 4: Viết chương trình tính n!! với n!! = 1.3.5…n nếu n lẻ, n!! = 2.4.6…n nếu n chẵn. HD: Ta cần xác định i chạy từ1 hay 2 phụthuộc vào n chẵn hay lẻ? for(int i = (n % 2)? 1 : 2; i <= n; i += 2) gt *= i; Bài 5: Viết chương trình nhập vào sốnguyên n. Tính và in ra các tổng sau: Bài 6: Viết chương trình nhập vào một sốnguyên dương, kiểm tra đó có phải là sốnguyên tốhay không?
  • 2. Bài 7: Viết chương trình nhập vào một sốnguyên dương, xuất ra dạng phân tích thừa sốnguyên tốcủa số đó. HD: int n; cout<<”Nhap n: “; cin>>n; cout<<n<<" = "; int i= 2; while(i <= n) { if(n % i == 0){ cout<<i; n /= i; if(n != 1) cout<<"*"; } else i++; } Bài 8: Viết chương trình tìm ước chung lớn nhất, bội chung nhỏnhất của 2 sốnguyên M, N nhập từbàn phím. Bài 9: Viết chương trình nhận 1 giá trịnguyên dài và cho hiển thịra màn hình số đó dạng: hệ10, hệ16, hệ8, hệ2. Bài 10: Bài tập 44: (*) Viết chương trình tính sin(x) theo công thức xấp xỉ: với độ chính xác 0.00001. Tức là tính cho tới n
  • 3. sao cho: 00001 .0 //Chuong trinh nhap mot so nguyen va in ket qua co phai la so chinh phuong hay khong #include<stdio.h> #include<conio.h> #include<math.h> int main() { int i,n,s; float c; printf("Ban hay nhap mot so nguyen: n"); scanf("%d",&n); if (n<=0) printf("So ",n," khong phai so chinh phuong n"); else { for (i=1;i<=n;i++) { if(i*i==n) s=1; } if(s==1) printf("so ban nhap la so chinh phuong"); else printf("so ban nhap khong la so chinh phuong"); } getch(); } Bài 11: Viết chương trình nhập vào mộtsốnguyên dương,xuất ra dạng phân tích thừa sốnguyên HD: int n; cout<<”Nhap n: “; cin>>n; cout<<n<<" = "; int i= 2; while(i <= n) { if(n % i == 0){ cout<<i; n /= i; if(n != 1) cout<<"*"; } else i++; }
  • 4. #include<conio.h> #include<stdio.h> #include<malloc.h> int main() { int i=0,coso=0,n=0,du=0,*mang; mang=(int*)malloc(100*sizeof(int)); printf("Nhap vao mot con so: ");scanf("%d",&n); printf("Nhap vao co so muon chuyen doi: ");scanf("%d",&coso); int m=n; do { du=n%coso; n/=coso; mang[i]=du; i++; }while(n>0); if(coso==16) { printf("So %d sau khi chuyen sang co so %d: n",m,coso); for(int j=i-1;j>=0;j--) { switch(mang[j]) { case 10: printf("A"); break; case 11: printf("B"); break; case 12: printf("C"); break; case 13: printf("D"); break; case 14: printf("E"); break; case 15: printf("F"); break; default: printf("%d",mang[j]); } } } else { printf("So %d sau khi chuyen sang co so %d: n",m,coso); for(int j=i-1;j>=0;j--) { printf("%d",mang[j]);
  • 5. } } getch(); return 0; } #include <stdio.h> #include <conio.h> void chuyendoi(int so,int he) { if (so>=he) chuyendoi(so/he,he); printf("%c",(so%he)["0123456789ABCDEF"]); } void main(void) { int n,a; printf("Nhap vao so : "); scanf("%d",&n); printf("Chuyen sang he co so : "); scanf("%d",&a); chuyendoi(n,a); getch(); } #include "stdio.h" #include "conio.h" main() { int i=0,j,n,m,du,mang[20]; clrscr(); printf("Nhap so n: "); scanf("%d",&n); m = n; do { du = m%2; mang[i] = du; m=m/2; i++; } while(m>0); printf("nSo %d o dang co so 2 la: ",n); for (j=i;j>=0;j--) printf("%d",mang[j]); printf("nSo %d o dang co so 8 la: %o",n,n); printf("nSo %d o dang co so 16 la: %x",n,n); getch(); return 0; }
  • 6. Viết chương trình tính Với x và độ chính xác Eps thực nhập từ bàn phím, tức là tính cho đến khi nào abs((x^(2n+1))/((2n+1)!)) <= Eps thì dừng. In kết quả ra màn hình. #include "stdio.h" #include "conio.h" #include "math.h" main() { float Eps,eps,sinx,x,ra; int n,i,j,gt; clrscr(); printf("Nhap x: "); scanf("%f",&x); ra = x*3.14159/180; printf("Nhap phan chinh xac Eps: "); scanf("%f",&eps); sinx=0;Eps=0;n=0; do { gt=1; j=2*n+1; for (i=1;i<=j;i++) gt=gt*i; Eps = pow(ra,j)/gt; if (n%2==0) sinx = sinx + Eps; else sinx = sinx - Eps; n++; //printf("ngt: %d,x: %f",gt,x); //printf("nEps: %f",Eps); } while (Eps>eps); printf("Ket qua: %f",sinx); getch(); return 0; } Tìm giá trị lớn nhất và đếm các giá trị lớn nhất của nửa dưới đường chéo phụ của một ma trận cấp A[n,n]. In ma trận cùng kết quả tìm được ra màn hình. #include "stdio.h" #include "conio.h" main() { int i,j, n,t; float a[100][100],max; clrscr(); printf("Nhap so n: "); scanf("%d",&n); if (n>0) {
  • 7. for (i=0;i<n;i++) for (j=0;j<n;j++) { printf("Nhap gia tri a[%d][%d]: ",i,j); scanf("%f",&a[i][j]); } max = a[2][n-1]; for (i=1;i<n;i++) for (j=n-i;j<n;j++) if (max < a[i][j]) max = a[i][j]; t=0; for (i=1;i<n;i++) for (j=n-i;j<n;j++) if (a[i][j] == max) t=t+1; printf("nMa tran A:"); printf("n"); for (i=0;i<n;i++) { for (j=0;j<n;j++) printf("%6.2f",a[i][j]); printf("n"); } printf("nGia tri lon nhat la %6.2f",max); printf("nTim duoc %d vi tri.",t); } else printf("Ban phai nhap so nguyen duong!"); getch(); return 0; } Tính tích hai ma trận C[n,p] = A[n,m] x B[m,p]. In các ma trận ra màn hình. #include "stdio.h" #include "conio.h" main() { int i,j,t,n1,n2,m1,m2; float a[100][100],b[100][100],c[100][100]; clrscr(); printf("nNhap cap cua ma tran a: "); scanf("%d%d",&n1,&n2); printf("nNhap cap cua ma tran b: "); scanf("%d%d",&m1,&m2); if (n2!=m1) printf("Hai ma tran khong nhan duoc!"); else if (n1>0&&n2>0&&m2>0) { for (i=0;i<n1;i++) for (j=0;j<n2;j++) { printf("Nhap gia tri a[%d][%d]: ",i,j); scanf("%f",&a[i][j]); } for (i=0;i<n2;i++) for (j=0;j<m2;j++) { printf("Nhap gia tri b[%d][%d]: ",i,j); scanf("%f",&b[i][j]); } for (i=0;i<n1;i++)
  • 8. for (j=0;j<m2;j++) for (t=0;t<n2;t++) c[i][j] = c[i][j] + (a[i][t])*(b[t][j]) ; printf("Ma tran a: n"); for (i=0;i<n1;i++) { for (j=0;j<n2;j++) printf("%6.2f",a[i][j]); printf("n"); } printf("Ma tran b: n"); for (i=0;i<m1;i++) { for (j=0;j<m2;j++) printf("%6.2f",b[i][j]); printf("n"); } printf("Ma tran c: n"); for (i=0;i<n1;i++) { for (j=0;j<m2;j++) printf("%6.2f",c[i][j]); printf("n"); } } else printf("Ban phai nhap so nguyen duong!"); getch(); return 0; } Viết chương trình nhập vào số nguyên dương n. Sau đó in ra màn hình ma trận xoáy A[n,n] theo dạng: 123 894 7 6 5 với n = 3 #include "stdio.h" #include "conio.h" main() { int i,j,n,v,m, A[100][100]; clrscr(); printf("Nhap so chieu n cua ma tran vuong a: "); scanf("%d",&n); if (n%2==0) m=n/2; else { m=n/2+1; A[n/2][n/2]=n*n;} v=1; for (i=0;i<m;i++) { for (j=i;j<n-i-1;j++) { A[i][j] = v; ++v; } for (j=i;j<n-i-1;j++) { A[j][n-i-1] = v; ++v; } for (j=n-i-1;j>i;j--) { A[n-i-1][j] = v; ++v; } for (j=n-i-1;j>i;j--) { A[j][i] = v; ++v; } } for (i=0;i<n;i++) {
  • 9. for (j=0;j<n;j++) printf("%6d",A[i][j]); printf("n"); } getch(); return 0; } Viết chương trình nhập vào hai dãy số nguyên theo chiều tăng dần. Sau đó trộn hai dãy này lại thành dãy thứ ba vẫn theo chiều tăng dần mà không cần sắp xếp lại. In ra màn hình ba dãy. #include "stdio.h" #include "conio.h" main() { int i,j,t,n,m,p,a[100],b[100],c[100]; clrscr(); printf("nSo phan tu cua day thu nhat: "); scanf("%d",&n); printf("nSo phan tu cua day thu hai: "); scanf("%d",&m); if (n>0&&m>0) { for (i=0;i<n;i++) { printf("nNhap phan tu thu %d cua day thu nhat: ",i+1); scanf("%d",&a[i]); } for (i=0;i<m;i++) { printf("nNhap phan tu thu %d cua day thu hai: ",i+1); scanf("%d",&b[i]); } p = m + n; t=j=0; for (i=0;i<p;i++) { if (b[j] > a[t]) { c[i] = a[t]; ++t; if (t==n) { c[i+1] = b[j]; break; } } else { c[i] = b[j]; ++j; if (j==m) { c[i+1] = a[t]; break; } } } printf("nDay thu nhat: "); for (i=0;i<n;i++) printf("%4d",a[i]); printf("nDay thu hai: "); for (i=0;i<m;i++) printf("%4d",b[i]); printf("nDay thu ba: ");
  • 10. for (i=0;i<p;i++) printf("%4d",c[i]); } else printf("Ban phai nhap so nguyen duong!"); getch(); return 0; } Bài 4: Viết chương trình tính tổng hai ma trận C(nxm) = A(nxm) + B(nxm), trong đó có viết hàm nhạp ma trận, hàm in ma trận. In các ma trận ra màn hình. #include "stdio.h" #include "conio.h" void nhap(float (*a)[100],int hang,int cot,char ch) { int i,j; for (i=0;i<hang;i++) for (j=0;j<cot;j++) { printf("Nhap phan tu %c[%d][%d]: ",ch,i,j); scanf("%f",&a[i][j]); } } void in(float (*a)[100],int hang,int cot) { int i,j; for (i=0;i<hang;i++) { for (j=0;j<cot;j++) printf("%5.2f",a[i][j]); printf("n"); } } void cong(float (*a)[100],float (*b)[100],float (*c)[100],int hang,int cot) { int i,j; for (i=0;i<hang;i++) for (j=0;j<cot;j++) c[i][j] = a[i][j] + b[i][j]; } int main() { float a[100][100],b[100][100],c[100][100]; int hang,cot; clrscr(); printf("Nhap so hang, so cot cua hai ma tran: "); scanf("%d%d",&hang,&cot); nhap(a,hang,cot,'A'); nhap(b,hang,cot,'B'); cong(a,b,c,hang,cot); printf("nMa tran A: n"); in(a,hang,cot); printf("nMa tran B: n"); in(b,hang,cot); printf("nMa tran C: n");
  • 11. in(c,hang,cot); getch(); return 0; } Bài 5: Viết chương trình tính tích hai ma trận C(nxm) = A(nxp) + B(pxm), trong đó có viết hàm nhập ma trận, hàm in ma trận. In các ma trận ra màn hình. #include "stdio.h" #include "conio.h" void nhap(float (*a)[100],int hang,int cot,char ch) { int i,j; for (i=0;i<hang;i++) for (j=0;j<cot;j++) { printf("nNhap phan tu %c[%d][%d]: ",ch,i,j); scanf("%f",&a[i][j]); } } void in(float (*a)[100],int hang,int cot) { int i,j; for (i=0;i<hang;i++) { for (j=0;j<cot;j++) printf("%6.2f",a[i][j]); printf("n"); } } void nhan(float (*a)[100],float (*b)[100],float (*c)[100],int hang1,int cot1,int cot2) { int i,j,t; for (i=0;i<hang1;i++) for (j=0;j<cot2;j++) for (t=0;t<cot1;t++) c[i][j] = c[i][j]+a[i][t]*b[t][j]; } int main() { float a[100][100],b[100][100],c[100][100]; int hang1,cot1,hang2,cot2; clrscr(); printf("nNhap so hang va so cot cua ma tran A: "); scanf("%d%d",&hang1,&cot1); printf("nNhap so hang va so cot cua ma tran B: "); scanf("%d%d",&hang2,&cot2); if (cot1!=hang2) { printf("nHai ma tran khong the nhan duoc!"); return 0; } nhap(a,hang1,cot1,'A'); nhap(b,hang2,cot2,'B');
  • 12. nhan(a,b,c,hang1,cot1,cot2); printf("nMa tran A: n"); in(a,hang1,cot1); printf("nMa tran B: n"); in(b,hang2,cot2); printf("nMa tran C: n"); in(c,hang1,cot2); getch(); return 0; } Bài 7: Viết hàm tìm ước chung lớn nhất của hai số nguyên dương theo phương pháp đệ quy. #include <stdio.h> #include "conio.h" int UCLN(int a,int b) { int m,n; m=a;n=b; if (m>n) m=m-n; else if (n>m) n=n-m; if (m!=n) m=UCLN(m,n); return m; } int main() { int a,b; clrscr(); printf("nNhap hai so : "); scanf("%d%d",&a,&b); printf("nUCLN cua hai so %d va %d la: %d",a,b,UCLN(a,b)); getch(); return 0; } pro nào giúp mình với vBài 1: Đếm xem có bao nhiêu từ trong s. Xuất các từ trên các dòng liên tiếp. vBài 2: Tìm từ có chiều dài dài nhất và in ra. vBài 3: Viết hàm upper đổi toàn bộ các ký tự sang ký tự hoa (giống hàm strupr) vBài 4: Viết hàm lower đổi toàn bộ các ký tự sang ký tự thường (giống hàm strlwr) vBài 5: Viết hàm proper đổi các ký tự đầu tiên của mỗi từ sang ký tự hoa. vBài 6: Viết hàm ltrim cắt bỏ các khoảng trắng bên trái chuỗi. vBài 7: Viết hàm rtrim cắt bỏ các khoảng trắng bên phải chuỗi. vBài 8: Viết hàm trim bỏ toàn bộ khoảng trắng đầu chuỗi, cuối chuỗi và giữa 2 từ trong s chỉ còn 1 khoảng trắng. vBài 9: Viết hàm del_char xóa các ký tự chỉ định. vBài 9a: Viết hàm del_char xóa các ký tự chỉ định từ một vị trí chỉ định. vBài 10: Viết hàm char *ins_s(char *subs, char *s, int pos) chèn thêm subs vào s tại vị trí chỉ định pos. vBài 11: Viết hàm char *del_s(char *s, int pos, int len) xóa len ký tự trong chuỗi s từ vị trí chỉ định pos.
  • 13. vBài 12: Viết hàm char *left(char *s, int len): trích chuỗi con từ chuỗi s (từ bên trái sang dài len ký tự) vBài 13: Viết hàm char *right(char *s, int len). vBài 14: Viết hàm char *sub(char *s, int pos, int len): trích chuỗi con từ chuỗi s (từ vị trí pos dài len ký tự) vBài 15: Viết hàm char *revsub(char *s, int pos, int len): tương tự sub nhưng trích từ phải sang trái. Bài 9: void Strdel(char s[], int n) { for (int i = n; i < Strlen(s) - 1; i++) { s[i] = s[i + 1]; } s[Strlen(s)-1] = '0'; } void Strchdel(char s[]) { int i = 0; printf("Choose character to delete: "); char c; scanf("%c", &c); while (i < Strlen(s)) { if (s[i] == c) { Strdel(s, i); } else { i++; } } } Xuất ra họ và tên #include<iostream.h> #include<conio.h> #include<string.h>
  • 14. //using namespace std; void main() { char str[30]; cout<<" Xau : ";gets(str); int n=strlen(str); int i,k,k1; for(i=n-1;i>=0;i--) { if(str[i]==' ') { k=i;break; } } for(i=0;i<=n-1;i++) { if(str[i]==' ') { k1=i;break; } } cout<<"n TEN :"; for(i=k+1;i<=n-1;i++) { cout<<str[i]; } cout<<"n TEN DEM :"; for(i=k1+1;i<k;i++) { cout<<str[i]; } cout<<"n HO :"; for(i=0;i<k1;i++) { cout<<str[i]; } getch(); } Tìm kiếm phần tửx trên danh sách theo các tiêu chí sau: o Một sốx cho trước, o Sốlớn nhất, o Sốbé nhất, o Sốnguyên tốdầu tiên, o Sốchính phương đầu tiên, o Sốnguyên tốlớn nhất,
  • 15.  Sốnguyên tố bé nhất.