You are on page 1of 5

TRƯỜNG ĐH SƯ PHẠM KỸ THUẬT TPHCM ĐÁP ÁN CUỐI KỲ HK 2 NĂM HỌC 2018 - 2019

KHOA ĐÀO TẠO CHẤT LƯỢNG CAO Môn: Lập trình C


Mã môn học: OOPC326964
Đề số/Mã đề: 32696401

TRẮC NGHIỆM .(3.5 đ)

Câu 1: (0.25đ)
Hãy cho biết kết quả in ra màn hình là gì? Câu 8: (0.25đ)
147......................................................... Hãy cho biết kết quả in ra màn hình là gì?
5.........................................................
Câu 2: (0.25đ)
Hãy cho biết kết quả in ra màn hình là gì? Câu 9: (0.25đ)
6....................................................................... Hãy cho biết kết quả in ra màn hình là gì?
9............................................................
Câu 3: (0.25đ)
Hãy cho biết kết quả in ra màn hình là gì? Câu 10: (0.25đ)
7........................................................... Hãy cho biết kết quả in ra màn hình là gì?
8.................................................................
Câu 4: (0.25đ)
1210...................................................... Câu 11: (0.5 điểm)

Câu 5: (0.25đ) Hãy cho biết kết quả in ra màn hình là gì?
Hãy cho biết kết quả in ra màn hình là gì? 3...................................................................
4210.............................................................. gDH..........................................................

Câu 6: (0.25đ) Câu 12: (0.5 điểm)


Hãy cho biết kết quả in ra màn hình là gì? Hãy cho biết kết quả in ra màn hình là gì?
10........................................................................ 34........................................................
2435........................................................
Câu 7: (0.25đ)
Hãy cho biết kết quả in ra màn hình là gì?
24...................................................................

Số hiệu: BM3/QT-PĐBCL-RĐTV- 1 Trang: 1


TỰ LUẬN. (6.5 đ)

Câu 13. (1.5 đ) Viết MỘT chương trình C xử lý tất cả các yêu cầu sau:

- (0.5 đ) Nhập một số nguyên a.


- (0.5 đ) Nhập tiếp một số nguyên b và chỉ chấp nhận b là một BỘI SỐ của a và lớn hơn a.
- (0.5 đ) Đếm và cho biết có bao nhiêu số lẻ trong đoạn từ a tới b.

#include <stdio.h>
int main (void)
{
int a; (0.25 đ)
scanf("%d",&a); (0.25 đ)
int b;
do
{
scanf("%d",&b); (0.25đ)
}while (b <= a || b % a != 0); (0.25đ)
int i,dem;
dem = 0; (0.25đ)
for( i = a; i <= b; i++)
if(i%2 != 0)
dem++; (0.25đ)
printf("Co %d so", dem);
return 0;
}

Câu 14. (1.5 đ) Viết MỘT chương trình C, xử lý các yêu cầu sau:
- (0.5 đ) Nhập vào điểm hết môn C của 15 sinh viên, lưu vào một mảng một chiều kiểu số thực.
- (1.0 đ) Kiểm tra xem dữ liệu điểm trong mảng vừa nhập có hợp lệ không:
+ Nếu không hợp lệ: in ra vị trí (chỉ số mảng) của các phần tử chứa điểm không hợp lệ.
+ Nếu hợp lệ: in ra thông báo “Ca mang hop le”.
Biết điểm hợp lệ là điểm phải nằm trong phạm vi từ 0 tới 10.0

#include <stdio.h>
int main (void)
{
float a[15]; (0.25đ)
int i, flag, n = 15;
printf("Nhap mang:\n");
for(i = 0; i< n; i++)
scanf("%f",&a[i]); (0.25đ)
flag = 0;
printf("Vi tri phan tu khong hop le:\n");
for(i = 0; i < n; i++)

Số hiệu: BM3/QT-PĐBCL-RĐTV- 1 Trang: 2


if(a[i]<0||a[i]>10) (0.25đ)
{
printf("%d\n", i); (0.25đ)
flag = 1; (0.25đ)
}
if (flag == 0)
printf("Ca mang hop le"); (0.25đ)

return 0;
}

Câu 15. (1.0 đ) Viết (định nghĩa) các HÀM bằng ngôn ngữ C thực hiện công việc:
- (0.5đ) Hàm tính số tuổi hiện tại dựa vào năm sinh. Tham số đầu vào: năm sinh (kiểu int); kết quả
trả về: số tuổi tính đến năm 2019 (kiểu int).
- (0.5đ) Hàm so sánh hai số nguyên. Tham số đầu vào: hai số nguyên (kiểu int); kết quả trả về: 1
nếu số lớn hơn là số thứ nhất, 2 nếu số lớn hơn là số thứ hai.

int tinhtuoi(int namsinh) 0.25


{
return (2019 - namsinh); 0.25
}
int sosanh(int a, int b) 0.25
{
if (a>=b) return 1;
else return 2; 0.25
}

Câu 16. (2.5đ) Viết MỘT chương trình C xử lý:


- (0.5 đ) Định nghĩa(tạo) một kiểu cấu trúc DanhSach để quản lý thông tin cư dân trong thành phố,
gồm các thành phần:
+ Họ và tên (ten): kiểu char
+ Quận (quan): kiểu int (giả định chỉ có Quận dùng tên số trong thành phố)
+ Năm sinh (namsinh): kiểu int
+ Lương (luong): kiểu int
- (0.5 đ) Nhập dữ liệu (họ và tên, quận, năm sinh, lương) từ bàn phím cho danh sách gồm 500 cư
dân.
- (1.0 đ) Đếm và In ra màn hình tên những người ở Quận 9, có tuổi từ 24 đến 30, và thu nhập dưới
1.000.000đ. Nếu không có cư dân nào đạt yêu cầu trên thì in ra: “khong co cu dan nao thoa yeu cau
do”.
- (0.5 đ) Sắp xếp danh sách trên theo tuổi tăng dần và in ra màn hình.
(Lưu ý, Sinh viên có thể sử dụng các hàm đã viết ở câu trên cho câu này)

Số hiệu: BM3/QT-PĐBCL-RĐTV- 1 Trang: 3


#include <stdio.h>
#include <stdlib.h>
#define SIZE 500
struct DanhSach 0.25
{
char ten[20];
int quan;
int namsinh;
int luong; 0.25
};
void main(void)
{
// Tao kieu cau truc DanhSach
struct DanhSach danhsach[SIZE]; 0.25
for (int i = 0;i<SIZE;i++)
{
printf("hay nhap vao ten cua cu dan thu %d: ",i+1);
gets(danhsach[i].ten);
printf("hay nhap vao dia chi cua cu dan thu %d: ",i+1);
scanf("%d",&danhsach[i].quan);
printf("hay nhap vao nam sinh cua cu dan thu %d: ",i+1);
scanf("%d",&danhsach[i].namsinh);
printf("hay nhap vao luong cua cu dan thu %d: ",i+1);
scanf("%d",&danhsach[i].luong); 0.25
}
// Dem va In ra man hinh ten nhung nguoi o quan 9, co tuoi tu 24 den 30, va thu nhap
duoi 1.000.000d.
int dem = 0;
printf("danh sach cac cu dan o quan 9, co tuoi tu 24 den 30 va co thu nhap duoi
1.000.000: \n");
for (int i = 0; i<SIZE;i++)
{
if((danhsach[i].quan==9)
&&((2019-danhsach[i].namsinh)>=24)
&&((2019-danhsach[i].namsinh)<=30)
0.25
&&(danhsach[i].luong<1000000))
{

Số hiệu: BM3/QT-PĐBCL-RĐTV- 1 Trang: 4


dem++; 0.25
puts(danhsach[i].ten); 0.25
}
}
if (dem==0)
printf("khong co cu dan nao thoa yeu cau do\n"); 0.25
else
printf("co tong cong la: %d cu dan\n",dem);

// sap xep theo tuoi tang dan


for(int i =0;i<SIZE-1;i++)
{
for (int j = SIZE-1;j>i;j--)
{
if(danhsach[j].namsinh>danhsach[j-1].namsinh)
{
struct DanhSach tmp;
tmp = danhsach[j];
danhsach[j] = danhsach[j-1];
danhsach[j-1]=tmp; 0.25
}
}
}
printf("danh sach sau sap xep la: \n");
for (int i = 0;i<SIZE;i++)
{
puts(danhsach[i].ten);
printf("\n"); 0.25
}
}

Ngày 21 tháng 05 năm 2019


Thông qua Trưởng ngành

Số hiệu: BM3/QT-PĐBCL-RĐTV- 1 Trang: 5

You might also like