1. Bài tập thực hành 1
Câu hỏi 1: Dòng 13 thực hiện tạo một số nguyên ngẫu nhiên trong khoảng từ 1 đến 100.
Câu hỏi 2: Định dạng %04d đảm bảo đầu ra hiển thị đúng 4 chữ số, kể cả các số có ít hơn 4 chữ số.
Câu hỏi 3: Chương trình sinh ra mã số sinh viên 12 ký tự, với 9 ký tự đầu là "20490042" và 3 ký tự cuối là số ngẫu nhiên từ 000 đến 100.
2. Bài tập thực hành 2
Câu hỏi 1: Dòng 53 có chức năng thiết lập lại tổng giá trị đơn hàng; nếu bỏ qua sẽ gây lỗi tính toán cho các lần sau.
Câu hỏi 2: Lệnh break sẽ thoát hoàn toàn khỏi vòng lặp, trong khi continue chỉ bỏ qua phần còn lại của vòng lặp hiện tại mà không thoát.
Câu hỏi 3: Không cần thiết vì tất cả các lựa chọn đều được xử lý trong các trường hợp switch.
3. Bài tập thực hành 3
4. Bài tập thực hành 4
5. Bài tập thực hành 5
6. Bài tập thực hành 6
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define SIZE 5
int main() {
int value;
int index;
srand(time(0));
for(index = 0; index < SIZE; ++index) {
value = rand() % 100 + 1;
printf("20490042%04d\n", value);
}
return 0;
}#include <stdio.h>
int main() {
int selection, count;
float sum = 0, payment, balance;
while (1) {
printf("\nMenu máy bán nước tự động:\n");
printf("1. Coca - 3 NT/lon\n");
printf("2. Sprite - 3 NT/lon\n");
printf("3. Nước cam - 5 NT/lon\n");
printf("4. Nước khoáng - 2 NT/lon\n");
printf("0. Thoát giao dịch\n");
printf("Nhập mã đồ uống: ");
scanf("%d", &selection);
if (selection == 0)
break;
if (selection < 1 || selection > 4) {
printf("Mã đồ uống không hợp lệ, vui lòng nhập lại.\n");
continue;
}
printf("Nhập số lượng mua: ");
scanf("%d", &count);
if (count < 0) {
printf("Số lượng không thể âm, vui lòng nhập lại.\n");
continue;
}
switch (selection) {
case 1:
case 2:
sum += 3 * count;
break;
case 3:
sum += 5 * count;
break;
case 4:
sum += 2 * count;
break;
}
printf("Vui lòng đưa tiền: ");
scanf("%f", &payment);
balance = payment - sum;
printf("Tổng giá trị đơn hàng: %.2f NT\n", sum);
printf("Tiền thừa: %.2f NT\n", balance);
sum = 0;
}
printf("Cảm ơn bạn đã sử dụng dịch vụ, hẹn gặp lại!\n");
return 0;
}#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main() {
char input;
while ((input=getchar())!=EOF) {
getchar();
switch (input) {
case'r':
printf("stop!\n");
break;
case'g':
printf("go go go\n");
break;
case'y':
printf("wait a minute\n");
break;
default:
printf("somthing must be wrong...\n");
break;
}
}
return 0;
}#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main() {
float amount,max=0,min=20000,total=0;
printf("Nhập chi tiêu hôm nay, nhấn -1 để kết thúc: ");
while (1) {
scanf("%f", &amount);
if (amount == -1)
break;
if (amount > max)
max = amount;
if (amount < min)
min = amount;
total += amount;
}
printf("Tổng chi tiêu ngày hôm nay: %.1f\n", total);
printf("Chi tiêu cao nhất trong ngày: %.1f\n", max);
printf("Chi tiêu thấp nhất trong ngày: %.1f\n", min);
return 0;
}#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include <stdlib.h>
#include <time.h>
int main() {
printf("Đoán xem ngày nào trong tháng 4 năm 2025 là ngày may mắn của bạn\n");
int guess, target, attempts=0;
srand(time(0));
target = rand() % 30 + 1;
printf("Bắt đầu thôi, bạn có ba lần đoán (1–30): ");
while (attempts < 3) {
scanf("%d",&guess);
attempts += 1;
if (guess == target){
printf("Chúc mừng, bạn đã đoán đúng\n");
return 0;
}
else if (guess < target) {
printf("Ngày bạn đoán quá sớm, ngày may mắn của bạn chưa tới\n");
}
else {
printf("Ngày bạn đoán quá muộn, ngày may mắn của bạn đã qua rồi\n");
}
if (attempts < 3)
printf("Còn lần nữa (1–30):\n");
}
printf("Hết lượt rồi, cho bạn biết, ngày may mắn của bạn là ngày %d\n", target);
return 0;
}#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
void person(int row) {
switch (row) {
case 0:
printf(" 0 ");
break;
case 1:
printf(" <H> ");
break;
case 2:
printf(" I I ");
break;
}
}
int main() {
int lines;
printf("Nhập số dòng:");
scanf("%d", &lines);
for (int i = lines; i > 0; i--) {
int stars = 2 * i - 1;
int spaces = (lines - i) * 7;
for (int j = 0; j < spaces; j++) {
printf(" ");
}
for (int row = 0; row < 3; row++) {
for (int j = 0; j < stars; j++) {
person(row);
}
printf("\n");
for (int j = 0; j < spaces; j++) {
printf(" ");
}
}
printf("\n");
}
return 0;
}