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, nếu có là loại tam giác nào, tính chu vi, 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 được với sai số cho trước
- Câu 4: Tìm và in số hoàn hảo
- Câu 5: Tìm và in các số nguyên tố nhỏ hơn n
- Lời Giải
Câu 1: Kiểm tra 3 số có phải cạnh tam giác không, nếu có là loại tam giác nào, tính chu vi, diện tích
Nhập 3 số thực a, b, c và kiểm tra 3 số đó có phải là 3 cạnh của 1 tam giác không? Nếu là 3 cạnh tam giác thì cho biết là tam giác nào trong các loại tam giác sau: đều, vuông cân, vuông, cân, thường và tính chu vi, diện tích của tam giác đó. 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, b, 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\n");
else if(vuong&&can)printf(" vuong can\n");
else if(vuong)printf(" vuong\n");
else if(can)printf(" can\n");
else printf(" thuong\n");
p=(a+b+c)/2;
printf("Chu vi = %4.2f, Dien tich = %4.2f",2*p,sqrt(p*(p-a)*(p-b)*(p-c)));
}else printf("Khong phai la ba canh mot tam giac\n");
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ích lũy bằng cách gửi tiết kiệm số tiền ban đầu là S 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 của mỗi năm được cộng vào với tiền gốc). Hãy nhập vào các số thực T, S, 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",n);
printf("Sau %d nam gui tiet kiem, so tien co la : %4.2f",n,s);
getch();
}
Câu 3: In số PI tính được với sai số cho trước
Lập trình tính số PI với sai số eps cho trước nhập từ bàn phím. Biết rằng số PI tính theo công thức: PI = 4 - 4/3 + 4/5 - 4/7 +... tính tổng các số hạng có giá trị không nhỏ hơn eps. In ra số PI tính được và số PI của Turbo C++ với 10 chữ số thập phân để 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("\nSo PI tinh duoc voi sai so %12.10f, PI=%12.10f\n",eps,pi);
printf("\nSo PI cua Turbo C++, PI=%12.10f\n",M_PI);
getch();
}
Câu 4: Tìm và in số hoàn hảo
Tìm và in ra màn hình tất cả các số hoàn hảo không vượt quá số n cho trước nhập từ bàn phím. Số hoàn hảo là số bằng tổng các ước số của nó không kể ước số là chính số đó. 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("\n %d = 1", i);
for(j=2;j<=i/2;j++) if(i%j==0)printf(" + %d",j);
}
}
if(ts)printf("\nCo tat ca %d so hoan hao",ts);
else printf("\nKhong co so hoan hao nao");
getch();
}
Câu 5: Tìm và in các số nguyên tố nhỏ hơn n
Tìm và in ra màn hình tất cả các số nguyên tố không vượt quá số n cho trước nhập từ bàn phím. Số nguyên tố là số chỉ có ước số là 1 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", &n);
printf("Cac so nguyen to khong vuot qua %d la :\n",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("\nTong so co %d so nguyen to",d);
getch();
}
0 comments:
Post a Comment