lOMoARcPSD| 61601608
[Tin học đại cương] Bài thực
hành số 4
Nằm trong chuỗi bài viết về thực hành tin học đại cương, đây là bài hướng dẫn thực hành cho bài
thực hành số 4 trong quyển Bài thực hành Tin học đại cương.
B. BÀI TẬP Ở NHÀ
BÀI 4.1
Lập trình thực hiện các công việc sau:
1. Nhập 3 số a, b, c bất kì
2. Hãy kiểm tra xem ba số đó có phải là độ dài của các cạnh của một tam giác hay không?
Nếu đúng là tam giác thì xác định là tam giác gì?
3. Thông báo kết quả ra màn hình:
LA 3 CANH TAM GIAC <loại tam giác> hoặc KHONG PHAI LA 3 CANH TAM GIAC
Bài giải
1 #include <stdio.h>
2 #include <conio.h>
3
//Dinh nghia gia tri cho TRUE va FALSE
#define TRUE 1
4 #define FALSE 0
5
6 int main(){
7 float a, b, c;
8 charprintf("Nhap du lieu dau vao"); flag = TRUE;
9 printf("\n a = "); scanf("%f",&a);
10 printf("\n b = "); scanf("%f",&b);
11 printf("\n c = "); scanf("%f",&c); 12
13 if( (a+b>c) && (b+c)>a && (a+c>b) ){
lOMoARcPSD| 61601608
14 o if(a==b && b==c){
15 flag = FALSE;printf("\n La 3 canh cua tam giac deu");
16
o }else if(a==b || b==c || c==a){
17
18
19
flag = FALSE;
20
printf("\n La 3 canh cua tam giac can");
21
o }
22
o if(a*a+b*b==c*c || b*b+c*c==a*a || c*c+a*a==b*b){
23
flag = FALSE;
24
printf("\n La 3 canh cua tam giac vuong");
25
o }
26
o if(flag==TRUE){
27
o
}
printf("\n La ba canh cua tam giac thuong");
28
}else{
29
o printf("\n Khong phai 3 canh cua tam giac");
30
}
31
32 getch();
33 return 0;
34 }
35
36
BÀI 4.2
Lập chương trình thực hiện các công việc sau: Nhập vào một số nguyên bất kỳ trong khoảng từ 0
đến 9, đưa ra màn hình chứ tương ứng với số đó. Nếu số nhỏ hơn 0 hoặc lớn hơn 9 thì thông báo
SO KHONG HOP LE
lOMoARcPSD| 61601608
Bài giải
1 #include <stdio.h>
2 #include <conio.h>int
main(){
3 int a;
4 printf("\n Nhap gia tri cua a = ");
5 scanf("%d",&a);
6
7 printf("\n ==>> doc la: ");
8 switch(a){
9 o
case
0:
printf("KHONG");
10 break;
11 o case 1:
12 printf("MOT");
13 break;
14 o case 2:
15
16
17
lOMoARcPSD| 61601608
41 }
getch();
42 return 0;
43 }
44
45
46
BÀI 4.3
Lập chương trình thực hiện các
công việc sau: Nhập số nguyên
n<8 bất kì. Lập chương trình tính
giai thừa củan. Sử dụng vòng lặp
for Bài giải
1 #include <stdio.h>
2 #include <conio.h>int
main(){ 3
4
5 int n;
6 printf("\n Nhap so nguyen dau vao n = ");
7 scanf("%d",&n);if(n<0 || n>=8){
8 o printf("\n So nhap vao phai la so nguyen >0 va <8 ");
9 }else{
10 o int giaithua = 1; 11 o for(int i=2; i<=n; i++){
12 giaithua = giaithua*i;
13 printf("%d",i);
14 o }
15 o printf("Gia tri cua %d! la %d",n,giaithua);
16
}
getch();
17 return 0;
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
printf("HAI");
break; o case 3:
printf("BA");
break; o case 4:
printf("BON");
break; o case 5:
printf("NAM");
break; o case 6:
printf("SAU");
break; o case 7:
printf("BAY");
break; o case 8:
printf("TAM");
break; o case 9:
printf("CHIN");
break; o default:
printf("SO KHONG
HOP LE!");
break;
lOMoARcPSD| 61601608
18 }
19
BÀI 4.4
Lập chương trình thực hiện các công việc sau:
1. Nhập số epsilon < 1 từ bàn phím
2. Tính số e theo công thức: quá trình dừng khi epsilon.
3. Đưa kết quả ra màn hình
Bài giải
1 #include <stdio.h>
2 #include <conio.h>
int
main(){
3 float epsilon;
4 printf("\n Nhap epsilon (0 < epsilon < 1) = ");
5 scanf("%f",&epsilon);
6
7 float ep = 1/epsilon; //Tinh lai DK dung lap
8 intint i = 1;giaithua = 1;
9 float giatri_e = 1;
10 while(giaithua<=ep){
11 o giatri_e += 1.0/giaithua;
12 o i++;
13 o giaithua = giaithua*i;
14 }
15
16
17 printf("Gia tri cua e ~ %f",giatri_e);
18 getch();return 0;
19 }
20
21
lOMoARcPSD| 61601608
BÀI 4.5
Lập chương trình thực hiện các công việc sau: Nhập số nguyên 10<n<100 bất kỳ. Dùng lệnh do
while để kiểm tra sự hợp lệ của dữ liệu đầu vào. Nếu người dùng nhập sai yêu cầu nhập lại
ngay. Nếu dữ liệu hợp lệ thì tính tổng các chữ số từ 1 đến n. Hiển thị kết quả ra màn hình. Bài giải
1
2
3 #include <stdio.h>#include <conio.h>
4 int main(){
5 int n;
6 int i = 0;
7
//Kiem tra du lieu nhap vao
do{
8 o if(i==0){
9 printf("\n Nhap gia tri dau vao n = ");
10 o }else{
11 printf("Gia tri dau vao phai > 10 va < 100 ");
12 printf("\n\n Hay nhap lai n = ");
13 o }
14 o scanf("%d",&n);
15 o i=1;
16 }while( n<=10 || n>=100);
17 int tong = 0;
18 for(int j=1; j<=n; j++){
19 o tong += j;
20 }
21 printf("Tong cua %d so nguyen dau tien la: %d",n,tong);
22
23 getch();
24
return
}
0;
25
26
lOMoARcPSD| 61601608
BÀI 4.6
Số nguyên tố là một số nguyên dương chỉ chia hết cho 1chính nó. Lập chương trình nhập một
số nguyên n từ bàn phím, kiểm tra xem một số nguyên n có phải số nguyên tố không thông
báo ra màn hình.
Bài giải
1
2
3 #include <stdio.h>
4 #include <conio.h>
5 #include <math.h>int main(){
6 int n;
7 char flag=1;
8 do{
9 o printf("Nhap so nguyen duong n = ");
10 o scanf("%d",&n);
11 }while(n<=0);
12 if(n==1){
13 o flag = 0;
14 }else if(n==2){
15 o flag = 1;
16 }else{
17 o int can_n = ceil(sqrt(n))+1;
18 o for(int i=2; i<can_n; i++){
19 if(n%i == 0){
20 flag = 0;
21 } break;
22 o }
23 }
24
25 if(flag){
26 o printf(" %d la so nguyen to",n);
27 }else{
28 o printf(" %d khong la so nguyen to",n);
lOMoARcPSD| 61601608
29 }
30 getch();
31 return 0;
32 }
33
34
C. BÀI TẬP TẠI PHÒNG
MÁY
BÀI 4.7
Lập chương trình thực hiện các công việc sau:
Dùng vòng lặp while hoặc do…while để tính gần đúng số PI theo công thức:
Chương trình sẽ dừng khi epsilon. Với epsilon được nhập từ bàn phím và có gía trị
nằm trong khoảng từ 0 đến 1.
Bài giải
1 #include <stdio.h>
2 #include <conio.h>
3 #include <math.h>int main(){
4 float epsilon;
5 do{
6 o printf("\n Nhap epsilon (0 < epsilon < 1) = ");
7 o scanf("%f",&epsilon);
8 }while(epsilon>=1 || epsilon<=0);
lOMoARcPSD| 61601608
9
10
int
int
ep = floor((1/epsilon-1)/2);
i = 0;
11 float pi=0;
12 do{
13 o float mau = 2.0*i+1;
14 o pi+=pow(-1,i)/mau;
15 o i++;
16
17
}while(i<=ep);
18
19 printf("Gia tri cua PI ~ %f",4*pi);
20 getch();
21 return 0;
22 }
23
BÀI 4.8
Lập chương trình thực hiện các công việc sau:
1. Nhập 2 số nguyên dương bất kì
2. Tìm ước chung lớn nhất và bội chung nhỏ nhất của 2 số đó
3. Hiển thị kết qủa ra màn hình
Bài giải
1 #include <stdio.h>
2 #include <conio.h>int
main(){
3 int a, b;
4 printf("\n Nhap gia tri dau vao la cac so nguyen duong");
5 printf("\n a = "); scanf("%d",&a);
6 printf("\n b = "); scanf("%d",&b); 7 int A = a, B = b;
8
//Dung giai thuat Euclid tim UCLN
lOMoARcPSD| 61601608
9
int c;
10
do{
11
o c = a-b;
12
o if(c<0){
13
b=-c; 14 o }else if(c>0){
15 a=c;
16 o }
17 }while(c!=0);
18 printf("\n UCLN( %d, %d ) = %d", A, B, a); 19
printf("\n BCNN( %d, %d ) = %d", A, B, A*B/a); 20
21 getch();
22 return 0;
23 }
24
25
26
BÀI 4.9
Lập chương trình thực hiện công việc sau:
1. Nhập ba số a, b, c bất kì từ bàn phím
2. Giải và biện luận nghiệm phương trình bậc 2:
và trường hợp nghiệm phức) 3. Đưa kết qủa ra màn hình
Bài giải
1 #include <stdio.h>
2 #include <conio.h>
3 #include <math.h>int main(){
4 float a, b, c;
5 printf("\n Nhap cac so dau vao");
6 printf("\n a = "); scanf("%f",&a);
lOMoARcPSD| 61601608
7 printf("\n b = "); scanf("%f",&b);printf("\n c = ");
scanf("%f",&c);
8
9 if(a==0){
10 o if(b==0){
11 if(c==0){
(Kể cả trương hợp
a=0
12 printf("\n => KL: Phuong trinh co vo so nghiem");
13 }else{
14
}
printf("\n => KL: Phuong trinh vo nghiem");
15 o }else{
16 printf("\n => KL: Phuong trinh co 1 nghiem: %f",c/b);
17 o }
18 }else{
19 o float delta = b*b-4*a*c;
20 o float can_delta = sqrt(fabs(delta));
21 o float thuc = -b/(2*a);
22 o float ao = can_delta/(2*a);
23
24 o if(delta<0){
25 printf("\n => KL: Phuong trinh co 2 nghiem phuc:");
26 printf("\n\t x_1 = %f + i* %f ", thuc, fabs(ao));printf("\n\t
x_2 = %f - i* %f ", thuc, fabs(ao));
27 o }else if(delta==0){
28 printf("\n => KL: Phuong trinh co nghiem kep: x = %f ",thuc);
29
30
31
32 o }else{
33 printf("\n => KL: Phuong trinh co 2 nghiem thuc: ");
34 printf("\n\t x_1 = %f ", thuc+ao);
35 printf("\n\t x_2 = %f ", thuc-ao);
36
} o }
37
38 getch();
lOMoARcPSD| 61601608
39 return 0;
40 }
41
42
BÀI 4.10
Lập chương trình thực hiện các công việc sau:
1. Nhập 1 số nguyên dương n bất kì (n<1000). Yêu cầu kiểm tra dữ liệu đầu vào bằng lệnh
do…while. Nếu sai yêu cầu nhập lại.
2. Tính tổng các chữ số của số đó.
3. Hiển thị kết qủa ra màn hình
Bài giải
1 #include <stdio.h>
2 #include <conio.h>int
main(){
3 int n;
4 do{
5 o printf("Nhap gia tri (nguyen duong nho hon 1000) n = ");
6 o scanf("%d",&n);
7 }while(n<=0 || n>=1000);
8
9 int T = 0;
10 while(n!=0){
11 o T = T + n%10;
12
}
o n = n/10;
13
14 printf("Tong cac chu so cua so vua nhap la: %d",T); 15
16 getch();
17 return 0;
18 }
19
20
lOMoARcPSD| 61601608
BÀI 4.11
Lập chương trình tính các tổng sau:
1.
2.
3.
Trong đó, n là số nguyên dương và x là một số thực bất kì. Cả 2 đều được nhập từ bàn phím
Bài giải
1
2
3 #include <stdio.h>#include <conio.h>
4 #include <math.h>
5 int main(){ 6 int n;
7
float
printf("Nhap gia tri nguyen duong n = ");
x;
8
scanf("%d",&n);
9
printf("Nhap gia tri x = ");
10
scanf("%f",&x);
11
12 float
int
giaithua = 1;
s1=1, s2=1, s3=1;
13 for(int i=1; i<=n; i++){
14 o s1 += pow(x,i);
15 o s2 += pow(-x,n);
16
17 o giaithua = giaithua*i;
18 o s3 += pow(x,n)/giaithua;
19 }
20 21 printf("Gia tri cua s1 = %f, s2 = %f, s3 = %f",s1, s2, s3);
22
lOMoARcPSD| 61601608
23 getch();
24
return
}
0;
25
26
BÀI 4.12
Lập chương trình thực hiện các công việc sau:
1. Nhập vào một dãy số thực. Việc nhập vào kết thúc khi nhập vào gía trị 0
2. Tính trung bình cộng của dãy số, tìm số lớn nhất và nhỏ nhất trong dãy
3. Hiện kết qủa ra màn hình
Bài giải
1
2
3 #include <stdio.h>#include <conio.h>
4 #define MAX 1024
5 int main(){ 6 int n=-1;
7 floatfloat
A[MAX];
temp;
8 do{
9 o printf("Nhap phan tu %d: ",n+1);
10 o scanf("%f",&temp);
11 o A[n+1] = temp;
12 o n++;
13 }while(temp!=0);
14
15 if(n>0){
16 o float tong=A[0], max=A[0], min=A[0];
17 o for(int i=1;i<n;i++){
18 tong += A[i];
19 if(A[i]>max) max=A[i];if(A[i]<min) min=A[i];
20 o }
21 o printf("\n Trung binh cong cua day: %f",tong/n);
22 o printf("\n Max = %f",max);
lOMoARcPSD| 61601608
23 o printf("\n Min = %f",min);
24 }else{
25 o printf("Day so khong co phan tu nao!");
26 }
27
28 getch();return
0;
29
}
30
31

Preview text:

lOMoAR cPSD| 61601608
[Tin học đại cương] Bài thực hành số 4
Nằm trong chuỗi bài viết về thực hành tin học đại cương, đây là bài hướng dẫn thực hành cho bài
thực hành số 4 trong quyển Bài thực hành Tin học đại cương. B. BÀI TẬP Ở NHÀ BÀI 4.1
Lập trình thực hiện các công việc sau:
1. Nhập 3 số a, b, c bất kì
2. Hãy kiểm tra xem ba số đó có phải là độ dài của các cạnh của một tam giác hay không?
Nếu đúng là tam giác thì xác định là tam giác gì?
3. Thông báo kết quả ra màn hình:
LA 3 CANH TAM GIAC hoặc KHONG PHAI LA 3 CANH TAM GIAC Bài giải 1  #include 2  #include 3
 //Dinh nghia gia tri cho TRUE va FALSE#define TRUE 1 4  #define FALSE 0 5  6  int main(){ 7  float a, b, c; 8
 charprintf("Nhap du lieu dau vao"); flag = TRUE; 9
 printf("\n a = "); scanf("%f",&a); 10
 printf("\n b = "); scanf("%f",&b); 11
 printf("\n c = "); scanf("%f",&c); 12 13
 if( (a+b>c) && (b+c)>a && (a+c>b) ){ lOMoAR cPSD| 61601608 14 o if(a==b && b==c){ 15 16
 flag = FALSE;printf("\n La 3 canh cua tam giac deu");
o }else if(a==b || b==c || c==a){ 17 18 19  flag = FALSE; 20
 printf("\n La 3 canh cua tam giac can"); 21 o } 22
o if(a*a+b*b==c*c || b*b+c*c==a*a || c*c+a*a==b*b){ 23  flag = FALSE; 24
 printf("\n La 3 canh cua tam giac vuong"); 25 o } 26 o if(flag==TRUE){ 27
o }  printf("\n La ba canh cua tam giac thuong"); 28  }else{ 29
o printf("\n Khong phai 3 canh cua tam giac"); 30  } 31 32  getch(); 33  return 0; 34  } 35 36 BÀI 4.2
Lập chương trình thực hiện các công việc sau: Nhập vào một số nguyên bất kỳ trong khoảng từ 0
đến 9, đưa ra màn hình chứ tương ứng với số đó. Nếu số nhỏ hơn 0 hoặc lớn hơn 9 thì thông báo “SO KHONG HOP LE“ lOMoAR cPSD| 61601608 Bài giải 1  #include 2  #include int main(){ 3  int a; 4
 printf("\n Nhap gia tri cua a = "); 5  scanf("%d",&a); 6 7
 printf("\n ==>> doc la: "); 8  switch(a){ 9 o case 0:printf("KHONG"); 10  break; 11 o case 1: 12  printf("MOT"); 13  break; 14 o case 2: 15 16 17 lOMoAR cPSD| 61601608 18  printf("HAI"); 41  } 19  break; o case 3:  getch(); 20  printf("BA"); 42  return 0; 21  break; o case 4: 43  } 22  printf("BON"); 44 23  break; o case 5: 45 24  printf("NAM"); 46 25  break; o case 6: 26  printf("SAU"); 27 28  break; o case 7: 29  printf("BAY"); 30  break; o case 8: BÀI 4.3 31  printf("TAM");
Lập chương trình thực hiện các 32  break; o case 9:  printf("CHIN");
công việc sau: Nhập số nguyên 33 34 
break; o default: n<8 bất kì. Lập chương trình tính 35  printf("SO KHONG 36 HOP LE!");
giai thừa củan. Sử dụng vòng lặp 37  break; for Bài giải 38 39 40 1  #include 2  #include int main(){ 3 4 5  int n; 6
 printf("\n Nhap so nguyen dau vao n = "); 7
 scanf("%d",&n);if(n<0 || n>=8){ 8
o printf("\n So nhap vao phai la so nguyen >0 va <8 "); 9  }else{ 10 o int giaithua = 1; 11 o for(int i=2; i<=n; i++){ 12  giaithua = giaithua*i; 13  printf("%d",i); 14 o } 15
o printf("Gia tri cua %d! la %d",n,giaithua); 16  }getch(); 17  return 0; lOMoAR cPSD| 61601608 18  } 19 BÀI 4.4
Lập chương trình thực hiện các công việc sau:
1. Nhập số epsilon < 1 từ bàn phím
2. Tính số e theo công thức: quá trình dừng khi epsilon.
3. Đưa kết quả ra màn hình Bài giải 1  #include 2  #include int main(){ 3  float epsilon; 4
 printf("\n Nhap epsilon (0 < epsilon < 1) = "); 5  scanf("%f",&epsilon); 6 7
 float ep = 1/epsilon; //Tinh lai DK dung lap 8
 intint i = 1;giaithua = 1; 9  float giatri_e = 1; 10  while(giaithua<=ep){ 11 o giatri_e += 1.0/giaithua; 12 o i++; 13 o giaithua = giaithua*i; 14  } 15 16 17
 printf("Gia tri cua e ~ %f",giatri_e); 18  getch();return 0; 19  } 20 21 lOMoAR cPSD| 61601608 BÀI 4.5
Lập chương trình thực hiện các công việc sau: Nhập số nguyên 10 bất kỳ. Dùng lệnh do
… while để kiểm tra sự hợp lệ của dữ liệu đầu vào. Nếu người dùng nhập sai yêu cầu nhập lại
ngay. Nếu dữ liệu hợp lệ thì tính tổng các chữ số từ 1 đến n. Hiển thị kết quả ra màn hình. Bài giải 1 2 3  #include #include 4  int main(){ 5  int n; 6  int i = 0; 7
 //Kiem tra du lieu nhap vaodo{ 8 o if(i==0){ 9
 printf("\n Nhap gia tri dau vao n = "); 10 o }else{ 11
 printf("Gia tri dau vao phai > 10 va < 100 "); 12
 printf("\n\n Hay nhap lai n = "); 13 o } 14 o scanf("%d",&n); 15 o i=1; 16
 }while( n<=10 || n>=100); 17  int tong = 0; 18
 for(int j=1; j<=n; j++){ 19 o tong += j; 20  } 21
 printf("Tong cua %d so nguyen dau tien la: %d",n,tong); 22 23  getch(); 24  return} 0; 25 26 lOMoAR cPSD| 61601608 BÀI 4.6
Số nguyên tố là một số nguyên dương chỉ chia hết cho 1chính nó. Lập chương trình nhập một
số nguyên n từ bàn phím, kiểm tra xem một số nguyên n có phải là số nguyên tố không và thông báo ra màn hình. Bài giải 1 2 3  #include 4  #include 5  #include int main(){ 6  int n; 7  char flag=1; 8  do{ 9
o printf("Nhap so nguyen duong n = "); 10 o scanf("%d",&n); 11  }while(n<=0); 12  if(n==1){ 13 o flag = 0; 14  }else if(n==2){ 15 o flag = 1; 16  }else{ 17
o int can_n = ceil(sqrt(n))+1; 18 o for(int i=2; i19  if(n%i == 0){ 20  flag = 0; 21  }  break; 22 o } 23  } 24 25  if(flag){ 26
o printf(" %d la so nguyen to",n); 27  }else{ 28
o printf(" %d khong la so nguyen to",n); lOMoAR cPSD| 61601608 29  } 30  getch(); 31  return 0; 32  } 33 34 C. BÀI TẬP TẠI PHÒNG MÁY BÀI 4.7
Lập chương trình thực hiện các công việc sau:
Dùng vòng lặp while hoặc do…while để tính gần đúng số PI theo công thức:
Chương trình sẽ dừng khi
epsilon. Với epsilon được nhập từ bàn phím và có gía trị
nằm trong khoảng từ 0 đến 1. Bài giải 1  #include 2  #include 3  #include int main(){ 4  float epsilon; 5  do{ 6
o printf("\n Nhap epsilon (0 < epsilon < 1) = "); 7 o scanf("%f",&epsilon); 8
 }while(epsilon>=1 || epsilon<=0); lOMoAR cPSD| 61601608 9 10
 intint ep = floor((1/epsilon-1)/2);i = 0; 11  float pi=0; 12  do{ 13 o float mau = 2.0*i+1; 14 o pi+=pow(-1,i)/mau; 15 o i++; 16 17  }while(i<=ep); 18 19
 printf("Gia tri cua PI ~ %f",4*pi); 20  getch(); 21  return 0; 22  } 23 BÀI 4.8
Lập chương trình thực hiện các công việc sau:
1. Nhập 2 số nguyên dương bất kì
2. Tìm ước chung lớn nhất và bội chung nhỏ nhất của 2 số đó
3. Hiển thị kết qủa ra màn hình Bài giải 1  #include 2  #include int main(){ 3  int a, b; 4
 printf("\n Nhap gia tri dau vao la cac so nguyen duong"); 5
 printf("\n a = "); scanf("%d",&a); 6
 printf("\n b = "); scanf("%d",&b); 7  int A = a, B = b; 8
 //Dung giai thuat Euclid tim UCLN lOMoAR cPSD| 61601608 9  int c; 10  do{ 11 o c = a-b; 12 o if(c<0){ 13  b=-c; 14 o }else if(c>0){ 15  a=c; 16 o } 17  }while(c!=0); 18
 printf("\n UCLN( %d, %d ) = %d", A, B, a); 19 
printf("\n BCNN( %d, %d ) = %d", A, B, A*B/a); 20 21  getch(); 22  return 0; 23  } 24 25 26 BÀI 4.9
Lập chương trình thực hiện công việc sau:
1. Nhập ba số a, b, c bất kì từ bàn phím
2. Giải và biện luận nghiệm phương trình bậc 2:
và trường hợp nghiệm phức) 3.
Đưa kết qủa ra màn hình Bài giải 1  #include 2  #include 3  #include int main(){ 4  float a, b, c; 5
 printf("\n Nhap cac so dau vao"); 6
 printf("\n a = "); scanf("%f",&a); lOMoAR cPSD| 61601608 7
 printf("\n b = "); scanf("%f",&b);printf("\n c = "); scanf("%f",&c); 8 9  if(a==0){ 10 o if(b==0){ 11  if(c==0){
(Kể cả trương hợp a=0 12
 printf("\n => KL: Phuong trinh co vo so nghiem"); 13  }else{ 14
 }  printf("\n => KL: Phuong trinh vo nghiem"); 15 o }else{ 16
 printf("\n => KL: Phuong trinh co 1 nghiem: %f",c/b); 17 o } 18  }else{ 19 o float delta = b*b-4*a*c; 20
o float can_delta = sqrt(fabs(delta)); 21 o float thuc = -b/(2*a); 22 o float ao = can_delta/(2*a); 23 24 o if(delta<0){ 25
 printf("\n => KL: Phuong trinh co 2 nghiem phuc:"); 26
 printf("\n\t x_1 = %f + i* %f ", thuc, fabs(ao));printf("\n\t
x_2 = %f - i* %f ", thuc, fabs(ao)); 27 o }else if(delta==0){ 28
 printf("\n => KL: Phuong trinh co nghiem kep: x = %f ",thuc); 29 30 31 32 o }else{ 33
 printf("\n => KL: Phuong trinh co 2 nghiem thuc: "); 34
 printf("\n\t x_1 = %f ", thuc+ao); 35
 printf("\n\t x_2 = %f ", thuc-ao); 36  } o } 37 38  getch(); lOMoAR cPSD| 61601608 39  return 0; 40  } 41 42 BÀI 4.10
Lập chương trình thực hiện các công việc sau:
1. Nhập 1 số nguyên dương n bất kì (n<1000). Yêu cầu kiểm tra dữ liệu đầu vào bằng lệnh
do…while. Nếu sai yêu cầu nhập lại.
2. Tính tổng các chữ số của số đó.
3. Hiển thị kết qủa ra màn hình Bài giải 1  #include 2  #include int main(){ 3  int n; 4  do{ 5
o printf("Nhap gia tri (nguyen duong nho hon 1000) n = "); 6 o scanf("%d",&n); 7
 }while(n<=0 || n>=1000); 8 9  int T = 0; 10  while(n!=0){ 11 o T = T + n%10; 12  } o n = n/10; 13 14
 printf("Tong cac chu so cua so vua nhap la: %d",T); 15 16  getch(); 17  return 0; 18  } 19 20 lOMoAR cPSD| 61601608 BÀI 4.11 Lập
chương trình tính các tổng sau: 1. 2. 3.
Trong đó, n là số nguyên dương và x là một số thực bất kì. Cả 2 đều được nhập từ bàn phím Bài giải 1 2 3  #include #include 4  #include 5  int main(){ 6  int n; 7
 floatprintf("Nhap gia tri nguyen duong n = "); x; 8  scanf("%d",&n); 9
 printf("Nhap gia tri x = "); 10  scanf("%f",&x); 11 12
 floatint giaithua = 1; s1=1, s2=1, s3=1; 13
 for(int i=1; i<=n; i++){ 14 o s1 += pow(x,i); 15 o s2 += pow(-x,n); 16 17 o giaithua = giaithua*i; 18 o s3 += pow(x,n)/giaithua; 19  } 20
21  printf("Gia tri cua s1 = %f, s2 = %f, s3 = %f",s1, s2, s3); 22 lOMoAR cPSD| 61601608 23  getch(); 24  return} 0; 25 26 BÀI 4.12
Lập chương trình thực hiện các công việc sau:
1. Nhập vào một dãy số thực. Việc nhập vào kết thúc khi nhập vào gía trị 0
2. Tính trung bình cộng của dãy số, tìm số lớn nhất và nhỏ nhất trong dãy
3. Hiện kết qủa ra màn hình Bài giải 1 2 3  #include #include 4  #define MAX 1024 5
 int main(){ 6  int n=-1; 7
 floatfloat A[MAX];temp; 8  do{ 9
o printf("Nhap phan tu %d: ",n+1); 10 o scanf("%f",&temp); 11 o A[n+1] = temp; 12 o n++; 13  }while(temp!=0); 14 15  if(n>0){ 16
o float tong=A[0], max=A[0], min=A[0]; 17 o for(int i=1;i18  tong += A[i]; 19
 if(A[i]>max) max=A[i];if(A[i]20 o } 21
o printf("\n Trung binh cong cua day: %f",tong/n); 22 o printf("\n Max = %f",max); lOMoAR cPSD| 61601608 23 o printf("\n Min = %f",min); 24  }else{ 25
o printf("Day so khong co phan tu nao!"); 26  } 27 28  getch();return 0; 29  } 30 31