CHƯƠNG 7 – Kiểu dữ liệu và biểu thức trong C
Hà Nội ngày 1/8/2010, Nguyễn Thị Thu Trang – SE – SoICT
I. Bài tập làm thêm
(Có giới thiệu thêm về if, if… else trước)
Bài tập 7.11: Nhận một giá trị góc (số nguyên) từ bàn phím. Sau đó hiện thông báo góc
đã nhập thuộc góc phần tư thứ mấy.
Lời giải mẫu:
/* Bai tap 7.11 - Cho biet goc thuoc goc vuong nao */
#include <stdio.h>
void main()
{
int goc;
printf("\nNhap vao gia tri goc: ");
scanf("%d", &goc);
printf("Goc do thuoc goc vuong thu %d", (goc/90)%4 + 1);
getch();
}
Bài tập 7.12: Giải phương trình bậc nhất AX+B = 0 (A, B là số thực)
Lời giải mẫu:
/* Bai tap 7.12 - Giai phuong trinh bac nhat AX + B = 0 */
#include <stdio.h>
void main()
{
float a, b;
printf("\nGiai phuong trinh bac nhat AX + B = 0");
printf("\nCho biet ba he so A B : ");
scanf("%f%f", &a, &b);
if (a==0)
if (b!=0)
printf("Phuong trinh vo nghiem");
else
printf("\nTong hai gia tri gio tren = %2d:%2d:%2d", gio3, phut3, giay3);
getch();
}
Bài tập 7.14: Tính cước Taxi theo số km (số thực) nhập từ bàn phím theo công thức
dưới đây: 1km đầu tiên có cước là 5000, 30km tiếp theo có giá là 4000/1km và các
km sau đó có giá là 3000/1km.
Lời giải mẫu:
/* Bai tap 1.4 - Chuong trinh tinh cuoc TAXI */
#include <stdio.h>
#include <math.h>
void main()
{
unsigned long sotien;
float sokm;
printf("\nBan hay cho biet so km da di duoc : ");
scanf("%f", &sokm);
if (sokm <= 1.0)
sotien = 5000;
else if (sokm <= 31.0)
2
sotien = 5000 + (floor(sokm) - 1.0 ) * 4000;
else
sotien = 125000 + (ceil(sokm) - 31) * 3000;
printf("\nSo tien can tra = %lu", sotien);
getch();
}
II. Bài tập về nhà
Bài tập 7.21: Nhận từ bàn phím một số có ba chữ số. In ra chữ số phần trăm, chục,
đơn vị của số đó.
/* Bai tap 1.5 - In chu so phan tram, chuc, don vi */
printf("Phuong trinh vo nghiem");
3
else if (delta == 0)
printf("Phuong trinh co nghiem kep x1 = x2 = %f", -b/(2*a));
else
{
printf("Phuong trinh co hai nghiem phan biet\nx1 = %f", (-b +
sqrt(delta))/(2*a));
printf("\nx2 = %f", (-b - sqrt(delta))/(2*a));
}
getch();
}
Bài tập 7.23: Giải hệ phương trình bậc nhất
A
1
X + B
1
Y = C
1
A
2
X + B
2
Y = C
2
/*Bai tap 1.7. Giai he phuong trinh bac nhat*/
#include <stdio.h>
#include <conio.h>
float a1,b1,c1,a2,b2,c2,x,y,dx,dy,d;
void main()