Đề thi Kỹ thuật lập trình (có lời giải)

Số trang: 26      Loại file: pdf      Dung lượng: 5.20 MB      Lượt xem: 427      Lượt tải: 0

Thành viên thường xem thêm

Thông tin tài liệu

Đề thi số 1 Môn: Kỹ thuật lập trình (IT3040) Thời gian: 90 phút SV được phép sử dụng tài liệu, nhưng không được trao đổi tài liệu, máy tính, điện thoại dđ Câu 1 (0.75đ): Tinh chỉnh đoạn mã sau và giải thích: Câu 6 (1đ): Tối ưu đoạn code sau: int letter_count(const char *buf, int size){ int i,m,n,p; int count, i; float c,*a,*b,*c,*d; count = 0; /* Gán giá trị các biến cần thiết */ for (i = 0; i < size; i++) { for(int i=0; i= A && buf[i] = a && buf[i] = A && buf[i] = a && buf[i] B[1] = 4+1=5. c=*p-- ~ c=*p và p-- => c=B[1]=5, p trỏ tới B[0]. p+=3 => p trỏ tới B[3]. *p+=c => B[3]+=5 => B[3] = 13. Vậy giá trị các phần tử mảng sau khi thực hiện đoạn lệnh là B[] = {2,5,7,13,9,15}. Câu 3 (0.75đ): Đoạn code này thực hiện việc in từng phần tử của chuỗi thành từng dòng. Ở đây sử dụng vòng lặp do-while. Do đó sẽ gặp lỗi nếu xâu s là xâu rỗng. Sửa lại như sau bằng cách đổi sang vòng lặp for: for (i = 0; s[i] != \0; i++){ putchar(s[i]); putchar(\n); } Phát hiện lỗi: 0.5đ, sửa lỗi: 0.25đ. Câu 4 (2.5đ): Hàm đệ quy 1.25đ, hàm không đệ quy 1.25đ. //HÀM ĐỆ QUY void chuyenCoSo(int base, int number) { char digits[]={0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f}; if(number0) { output[i++] = digits[number%base]; number = number/base; } i--; //Xuất ra kết quả for(;i>=0;i--) { printf(%c,output[i]); } } Câu 5 (1đ): Ở đây đề bài yêu cầu phải tối giản phân số. Do đó ta cần đưa vào hàm tìm ước chung lớn nhất của tử số và mẫu số. Xét 2 hàm tìm UCLN (sử dụng đệ quy cho nhanh gọn) như dưới đây. (0.25đ) //Cách 1: int UCLN(int a, int b) { return b ? UCLN(b, a % b) : a; } //Cách 2: int UCLN( int x, int y) { if(x==y) return x; else if(x>y) return UCLN(x-y,y); else return UCLN(x,y-x); } Xây dựng cấu trúc phân số (0.25đ): typedef struct PhanSo{ Powered by TCPDF (www.tcpdf.org)
Xem thêm


Giao dịch viên QHKH Cá nhân-RM Hỗ trợ tín dụng Thực tập sinh Agribank - NH Nông nghiệp & PTNT BIDV - NH Đầu tư phát triển VN Vietinbank - NH Công thương VN Vietcombank (VCB) - NH Ngoại thương VN LienVietPost Bank (LVPB) - NH Bưu Điện Liên Việt MB Bank - NH Quân Đội Techcombank - NH Kỹ Thương Tổng cục Thống kê
Nhắn cho chúng tôi