You are on page 1of 4

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

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

Chữ ký giám thị 1 Chữ ký giám thị 2 Mã môn học: PRLA335164


Đề số/Mã đề: PRLA1335164.

Điểm và chữ ký

CB chấm thi thứ nhất CB chấm thi thứ hai


Họ và tên:.................................................................
Mã số SV:.................................................................
Số TT: ...................... Phòng thi: ..............................

TRẮC NGHIỆM .(5.0 đ) Hướng dẫn: X chọn, X: bỏ chọn, X : chọn lại

PHIẾU TRẢ LỜI

Câu 1 A B C D Câu 2 A B C D
Câu 3 A B C D Câu 4 A B C D
Câu 5 A B C D Câu 6 A B C D
Câu 7 A B C D Câu 8 A B C D
Câu 9 A B C D Câu 10 A B C D
Câu 11 A B C D Câu 12 A B C D
Câu 13 A B C D Câu 14 A B C D
Câu 15 A B C D Câu 16 A B C D
Câu 17 A B C D Câu 18 A B C D
Câu 19 A B C D Câu 20 A B C D

TỰ LUẬN.

Câu 1. (0.75 đ)

#include <conio.h>
#include <stdio.h>

void main (void)


{
int n, i;
printf("Nhap n:\n");
scanf("%d",&n); (0.25đ)
if (n >=0)
{
printf("So le lon nhat trong 0 - n: \n");
for (i = n; i >= 0; i--)
if (i % 2 == 1)
{
printf("%d",i);
break;
}

} (0.25đ)

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


Họ tên:………………………………………………MSSV:……………………STT…………
if ( n < 0)
{
printf("So chan nho nhat trong n - 0 :\n");
for (i = n; i <=0; i++)
if (i %2 ==0)
{
printf("%d", i);
break;
}
} (0.25đ)

getch();
}

Câu 2. (1.5 đ)
#include <conio.h>
#include <stdio.h>
#include <malloc.h>

void main (void)


{
int *a,n,i,flag,max;
printf("Nhap n:\n");
scanf("%d",&n);
a = (int*)malloc(n*sizeof(int)); (0.25đ)
if (a == NULL)
printf("Khong cap phat duoc bo nho");
else
{
printf("Nhap mang:\n");
for(i = 0; i < n; i++)
scanf("%d", (a+i)); (0.25đ)
flag = 0;
for (i = 0; i < n; i++)
if (*(a+i) < 0)
{
flag = 1;
break;
}
if (flag == 0)
printf("Mang khong co so am\n"); (0.25đ)
else
printf("Mang CO so am\n"); (0.25đ)

max = *a;
for (i = 0; i < n; i++)
if (max < *(a+i))
max = *(a + i); (0.25đ)

printf("So max nam o vi tri:\n");


for (i = 0; i < n; i++)
if (*(a +i ) == max)
printf("%d\n",i); (0.25đ)
}
free(a);
getch();
}
Câu 3. (0.75 đ)

int Ham (int *a, int n) (0.25đ)


{

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


Họ tên:………………………………………………MSSV:……………………STT…………
int dem = 0, i;
for ( i = 0; i < n; i++)
if (*(a+i) < 0)
dem++; (0.25đ)
return dem; (0.25đ)
}

Câu 4. (2.0 đ)
#include <conio.h>
#include <stdio.h>

struct TienDien
{
int MaKH;
char HoTen[50];
float DinhMuc;
float SoKwDaDung;
float SoKwVuot;
}; (0.25đ)
void main (void)
{
struct TienDien a[100]; (0.25đ)
int i,n = 100, flag;
float max;
printf("Nhap du lieu: \n");
for (i = 0; i < n; i++)
{
printf("\nNhap ho ten:\n");
gets(a[i].HoTen);
printf("Nhap ma:\n");
scanf("%d",&a[i].MaKH);
printf("Nhap dinh muc: \n");
scanf("%f",&a[i].DinhMuc);
printf("Nhap so KW da su dung:\n");
scanf("%f",&a[i].SoKwDaDung);
flushall(); (0.5đ)
a[i].SoKwVuot = (a[i].SoKwDaDung - a[i].DinhMuc);
}
flag = 0;
printf("\nDS khach hang sd duoi dinh muc:\n");
for (i = 0; i < n; i++)
if(a[i].SoKwVuot <= 0)
{
puts(a[i].HoTen);
printf("%d\n",a[i].MaKH);
printf("%f\n",a[i].SoKwDaDung);
printf("%f\n",a[i].DinhMuc); (0.25đ)
flag = 1;
}
if (flag == 0)
printf("Tat ca deu vuot dinh muc\n"); (0.25đ)

printf("\nKhach hang vuot dinh muc nhieu nhat:\n");


max = 0;
for (i = 0; i < n; i++)
if (a[i].SoKwVuot > 0)
if (max < a[i].SoKwVuot)
max = a[i].SoKwVuot; (0.25đ)
for ( i = 0; i < n; i++)
if (a[i].SoKwVuot == max&& a[i].SoKwVuot > 0)
puts(a[i].HoTen); (0.25đ)

getch();
}

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


Họ tên:………………………………………………MSSV:……………………STT…………

Ngày 13 tháng 12 năm 2017


Thông qua trưởng ngành

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

You might also like