h> int main(){ int a,b,c; scanf("%d%d%d", &a, &b, &c); int tong; tong=a+b+c; printf("Tong cua 3 gia tri %d, %d va %d la: %d", a,b,c,tong); } Câu hỏi Viết chương trình nhập vào chiều dài và chiều rộng của một hình chữ nhật. Biết kiểu dữ liệu của 2 giá trị trên là số thực. Hãy tính diện tích của hình chữ nhật đó và kết quả chỉ lấy 2 số thập phân theo định dạng sau: “Dien tich hình chu nhat la: <kết quả>” For example: Input Result 11 Dien tich hinh chu nhat la: 1.00 Answer:(penalty regime: 0 %) Trả lời: #include<stdio.h> int main(){ float a,b; scanf("%f%f", &a,&b); float S; S=a*b; printf("Dien tich hinh chu nhat la: %.2f", S); } Câu hỏi 3: Viết chương trình xuất ra các dòng cho biết kích thước (đơn vị Byte) của lần lượt các kiểu dữ liệu sau: char, int, float, double, short, long. Trả lời: 0 0 #include<stdio.h> int main(void){ printf("%lu \n", sizeof(char)); printf("%lu \n", sizeof(int)); printf("%lu \n", sizeof(float)); printf("%lu \n", sizeof(double)); printf("%lu \n", sizeof(short)); printf("%lu \n", sizeof(long)); return 0; } Câu hỏi 4 Nội dung câu hỏi Ứng với mỗi dòng của câu 3 xuất ra, tuân thủ định dạng sau: “Size of <type> is <value> bytes” Trong đó, <value> là kích thước của biến mang kiểu dữ liệu <type>.
Lưu ý không xuống dòng ở dòng cuối cùng. Trả lời: #include<stdio.h> int main(void){ printf("Size of char is %lu bytes\n", sizeof(char)); printf("Size of int is %lu bytes\n", sizeof(int)); printf("Size of float is %lu bytes\n", sizeof(float)); printf("Size of double is %lu bytes\n", sizeof(double)); printf("Size of short is %lu bytes\n", sizeof(short)); printf("Size of long is %lu bytes\n", sizeof(long)); return 0; } 0 0 Câu 5: Viết chương trình nhận số nguyên dương V (đơn vị km/h); hãy đổi đơn vị của V từ km/h sang m/s và in ra màn hình. Làm tròn kết quả còn 2 số thập phân. For example: Input Result 10 2.78 Trả lời: #include<stdio.h> int main(){ int V; scanf("%d", &V); float kq= V/3.2f", kq); } Câu hỏi 6 Nội dung câu hỏi 0 0 Viết chương trình nhận vào 1 ký tự, xuất ra màn hình mã ASCII (hệ thập phân) của ký tự đó.
For example: Input Result c 99 Trả lời: #include <stdio.h> int main(){ char c; scanf("%c", &c); printf("%d", c); return 0; } Câu hỏi 7 Nội dung câu hỏi Viết chương trình nhận vào 2 số d và h. Xuất ra màn hình thể tích khối nón có bán kính đáy = r, chiều cao = h. Làm tròn kết quả tới 2 số thập phân. For example: Input Result 34 9.42 Trả lời: #include<stdio.h> int main(){ float d, h; 0 0 scanf("%f%f", &d, &h); float V=(1.2f", V); } Câu hỏi 8 Nội dung câu hỏi Nhập vào 3 số nguyên a, b, c kiểm tra 3 số này liệu có thể tạo thành tam giác vuông, cân, đều hay không thể tạo thành tam giác.
Kết quả xuất ra màn hình có độ ưu tiên giảm dần sau: ● Nếu tạo thành tam giác vuông, in ra câu “right triangle” và kết thúc chương trình; ● Nếu tạo thành tam giác cân nhưng không đều, in ra “isosceles triangle”; ● Nếu tạo thành tam giác đều, in ra “equilateral triangle”; ● Nếu tạo thành tam giác nhưng không thuộc 1 trong 3 loại trên, in ra “triangle”; ● Nếu không tạo thành tam giác, in ra “invalid”. Lưu ý không xuống dòng sau khi in, chỉ xuất 1 câu có độ ưu tiên cao nhất (vd: nếu là tam giác vuông cân thì chỉ in ra 1 câu duy nhất “right triangle”). For example: Test Input Result 1 345 right triangle Trả lời: 0 0 #include<stdio.h> int main(){ int a, b, c; scanf("%d%d%d", &a, &b, &c); if(a+b<=c || a+c<=b || b+c<=a){ printf("invalid"); }else if(a*a+b*b==c*c || a*a+c*c==b*b || b*b+c*c==a*a){ printf("right triangle"); }else if(a==b&&a==c){ printf("equilateral triangle"); }else if(a==b || a==c || b==c){ printf("isosceles triangle"); }else{ printf("triangle"); } } Câu hỏi 9 Nội dung câu hỏi Viết chương trình nhập vào tọa độ 2 điểm A(xA, yA), B(xB, yB) trên hệ tọa độ Descartes 2 chiều. Cho biết 3 điểm gồm gốc tọa độ O(0, 0), A, B có thẳng hàng không và in ra BÌNH PHƯƠNG độ dài của cạnh dài nhất trong số các cạnh AB, OB, OA.
Cho biết 3 điểm O, A, B thẳng hàng nếu thỏa mãn điều kiện sau: xA/yA= xB/yB Input: dòng thứ 1, 2, 3, 4 lần lượt chứa các giá trị xA, yA, xB, yB Output gồm 2 dòng: Dòng đầu in ra “0” nếu 3 điểm không thẳng hàng. Ngược lại in ra “1” Dòng 2 in ra BÌNH PHƯƠNG độ dài của cạnh lớn nhất (làm tròn kết quả còn 2 chữ số thập phân). For example: 0 0 Test Input Result 1 3 0 4 68.00 2 8 Trả lời: #include<stdio.h> int main(){ float xA, yA, xB, yB; scanf("%f%f%f%f", &xA, &yA, &xB, &yB); float ABbinh= (xA-xB)*(xA-xB)+(yA-yB)*(yA-yB); float OAbinh= (xA-0.0); float OBbinh= (xB-0.2f", ABbinh); }else if(OBbinh >= ABbinh && OBbinh >=OAbinh){ printf("\n%.2f", OBbinh); }else if(OAbinh >= ABbinh && OAbinh >= OBbinh){ printf("\n%.2f", OAbinh); }else{ printf("\n%.2f", OAbinh); } }else{ printf("0"); if(ABbinh >= OBbinh && ABbinh >= OAbinh){ printf("\n%.2f", ABbinh); }else if(OBbinh >= ABbinh && OBbinh >=OAbinh){ printf("\n%.2f", OBbinh); }else if(OAbinh >= ABbinh && OAbinh >= OBbinh){ printf("\n%.2f", OAbinh); }else{ printf("\n%.2f", OAbinh); } } } 0 0 Câu hỏi 10 Nhập vào 2 số nguyên a, b (b khác 0) và một kí tự c. Xuất ra màn hình kết quả của phép tổng, hiệu, tích, thương, chia lấy phần dư của a và b theo các trường hợp sau của c: Kí tự “+”, in ra tổng a + b Kí tự “-”, in ra hiệu a - b Kí tự “*”, in ra tích a*b Kí tự “/”, in ra thương a / b, chỉ lấy phần nguyên Kí tự “%”, in ra số dư của phép chia a / b For example: Test Input Result 1 10 3 + 13 Trả lời: #include<stdio.h> int main(){ int a,b; char c; scanf("%d%d %c", &a , &b, &c); if(c=='+'){ int tong=a+b; printf("%d", tong); }else if(c=='-'){ int hieu=a-b; printf("%d", hieu); }else if(c=='*'){ int tich=a*b; printf("%d", tich); }else if(c=='/'){ int thuong=a/b; printf("%d", thuong); }else if(c=='%'){ int chia=a%b; printf("%d", chia); } } 0 0 Câu hỏi Viết chương trình tính giá cước taxi theo quy tắc sau: Giá tối thiểu 20000đ / 2km đầu Giá mỗi km tiếp theo (< 30 km) 9000đ / km Giá mỗi km tiếp theo kể từ mốc 30 km 7000đ / km Input: 1 số thực cho biết quãng đường cần tính giá cước Output: Giá cước đã tính (lấy phần nguyên) For example: Test Input Result 1 1.5 20000 Trả lời: #include<stdio.h> int main(){ float a; scanf("%f", &a); if(a<=0){ return 0; }else if(a<2.0){ printf("20000"); }else if(a<30.0f", gia); }else{ float gia2=20000.0f", gia2); } } Câu hỏi Dựa vào điểm trung bình học kỳ (TBHK - thang điểm 10), sinh viên có thể được xếp loại thành các loại xuất sắc, giỏi, khá, trung bình, yếu.
Cho rằng tại kỳ đang xét, sinh viên chỉ học 3 môn và số tín chỉ mỗi môn như nhau. Viết chương trình 0 0 nhận vào điểm tổng kết của 3 môn, in ra màn hình dòng thứ nhất là điểm TBHK (làm tròn còn 2 chữ số thập phân), dòng thứ 2 là kết quả xếp loại theo định dạng sau: Loại xuất sắc (TBHK >= 9): “xuat sac” Loại giỏi (8<= TBHK < 9): “gioi” Loại khá (7<= TBHK < 8): “kha” Loại trung bình (5 <= TBHK < 7): “trung binh” Loại yếu (TBHK < 5): “yeu” For example: Test Input Result 1 2 4.33 4 yeu 7 Trả lời: #include<stdio.h> int main(){ double b,c,d,a; scanf("%lf%lf%lf",&b,&c,&d); a=(b+c+d)/3; if (a>=9){ printf("%.2lf\n",a); printf("xuat sac"); } else if(a>=8&&a<9){ printf("%.2lf\n",a); printf("gioi"); } else if(a<8&&a>=7){ printf("%.2lf\n",a); printf("kha"); } else if(a<7&&a>=5){ printf("%.2lf\n",a); printf("trung binh"); } else { printf("%.2lf\n",a); printf("yeu"); } return 0; } 0 0 Câu hỏi Viết chương trình nhập vào 3 số thực a,b,c và xuất ra số lớn nhất với 2 chữ số thập phân. For example: Input Result 123 3.00 Trả lời: #include<stdio.h> int main(){ float a,b,c; scanf("%f%f%f", &a, &b, &c); if(a>b && a>c){ printf("%.2f", a); }else if(b>a && b>c){ printf("%.2f", c); } } Câu hỏi: Viết chương trình nhập vào số nguyên và kiểm tra số đó có phải số chính phương Nếu đúng in ra "<giá trị> la so chinh phuong" 0 0 ngược lại, in ra "<giá trị> khong la so chinh phuong" For example: Input Result 2 2 khong la so chinh phuong Trả lời: #include<stdio.h> int main(){ int x; scanf("%d", &x); int kc = (int)sqrt(x); if(pow(kc, 2)==x){ printf("%d la so chinh phuong", x); }else{ printf("%d khong la so chinh phuong", x); } } Câu hỏi: Tính tiền điện của tháng dựa vào bảng tiền điện sau: Bảng tiền điện Bậc 1: Cho kWh từ 0 – 50 1.678 Bậc 2: Cho kWh từ 51 – 100 1.734 Bậc 3: Cho kWh từ 101 – 200 2.014 Bậc 6: Cho kWh từ 201 trở lên 2.536 Viết chương trình nhập vào số kWh là 1 số nguyên dương. Tính và xuất ra tiền điện với 3 chữ số thập phân.
For example: Input Result 20 33.634 Trả lời: #include<stdio.h> int main(){ int a; 0 0 scanf("%d", &a); if(a>0 && a<=50){ float S=a*1.3f", S); }else if(a>50 && a<=100){ float S=50*1.3f", S); }else if(a>100 && a<=200){ float S=50*1.3f", S); } } CẤU TRÚC LẶP Câu hỏi: Viết chương trình tìm số tự nhiên n lớn nhất, sao cho tổng các số tự nhiên từ 1 đến n nhỏ hơn hoặc bằng số nguyên S, với S được nhập từ bàn phím. Xuất n ra màn hình. Trong trường hợp không có n nào phù hợp, xuất ra màn hình "Not found!". For example: Test Input Result Test case 1 10 4 Trả lời: #include<stdio.h> int main(){ int S; scanf("%d", &S); if(S<=0) printf("Not found!"); else{ int n=1; int s=0; while(s<=S){ s+=n; if(s>S){ 0 0 n--; break; } n++; } printf("%d", n); } return 0; } Câu hỏi: Viết chương trình vẽ tam giác cân với chiều cao h được nhập từ bàn phím.
Lưu ý: không có khoảng trắng sau dấu '*' cuối cùng của mỗi dòng, không có dấu xuống hàng ở dòng cuối cùng. For example: Test Input Result Test case 1 4 * *** ***** ******* Trả lời: #include <stdio.h> int main() { int n; int q = 0; scanf("%d",&n); while (n > 0) { for (int i = 1; i<n; i++) printf("%c", ' '); 0 0 for (int k = 0; k <= q; k ++) printf("%c", '*'); n -- ; q += 2 ; printf("\n"); } return 0; } Câu hỏi: Viết chương trình kiểm tra một số tự nhiên n được nhập từ bàn phím có phải là số nguyên tố hay không. Biết rằng, số nguyên tố là số tự nhiên lớn hơn 1, chỉ chia hết cho 1 và chính nó. Nếu n là số nguyên tố, in ra theo định dạng: <n> la so nguyen to! Nếu không, in ra: <n> khong phai la so nguyen to! For example: Test Input Result Test case 1 3 3 la so nguyen to! Trả lời: 0 0 #include <stdio.h> int main(){ int n; scanf("%d", &n); if(n < 2){ printf("%d khong phai la so nguyen to!", n); return 0; } int count = 0; for(int i = 2; i*i <= n; i++){ if(n % i == 0){ count++; } } if(count == 0){ printf("%d la so nguyen to!", n); }else{ printf("%d khong phai la so nguyen to!