Giải Đề Thi Lập Trình 2017 - 2018 ( Đề Chẳn )
Câu 1: Viết chương trình nhập vào 1 số nguyên n ( n có giá trị từ 2 đến 8 ), in ra ngày tương ứng trong tuần theo giá trị của n. Ví dụ: Khi nhập n là 2 thì in "Thứ Hai", khi nhập n không nằm trong đoạn từ 2 đến 8 thì in ra "Khong Phai Ngay Trong Tuan".
Câu 2: Viết hàm tìm và trả về số lớn nhất trong 3 số thực. Viết chương trình nhập 3 số thực, sử dụng hàm vừa viết để xác định va fin ra số lớn nhất trong 3 số vừa nhập.
Câu 3: Viết chương trình thực hiện các yêu cầu sau:
- Nhập vào 1 chuỗi.
- Viết hàm đổi tất cả các ký tự (trừ ký tự đầu tiên) trong chuỗi sang in thường và in ra kết quả.
Ví Dụ: Chuỗi nahạp là "LAP Trinh cAn ban" thì chuỗi kết quả là "Lap Trinh Can Ban".
Câu 4: Thông tin hình vuông gồm: chiều dài cạnh, diện tích và chu vi. hãy khai báo cấu trúc để quản lý hình vuông như mô tả. viết chương trình thực hiện các yêu cầu sau (tất cả phải viết hàm)
- Nhập thông tin cho các hình vuông trong danh sách (Không nhập chu vi và diện tích).
- Sắp xếp danh sách tăng dần theo chu vi.
- Xuất thông tin các hình vuông (cạnh, chu vi và diện tích)
Gợi Ý: Chu Vi= cạnh x 4, Diện Tích= cạnh x cạnh.
Giải
/*
Ten: Hoang Minh Tuan
Lop: GS19TH1
*/
#include<stdio.h>
int main(){
int n;
printf("Nhap vao so nguyen: "); scanf("%i", &n);
if(n==2) printf("Thu Hai");
else if(n==3) printf("Thu Ba");
else if(n==4) printf("Thu Tu");
else if(n==5) printf("Thu Nam");
else if(n==6) printf("Thu Sau");
else if(n==7) printf("Thu Bay");
else if(n==8) printf("Chu Nhat");
else if(n < 2) printf("Khong phai ngay trong tuan!");
else if(n > 8) printf("Khong phai ngay trong tuan!");
return 0;
}
Giải
#/*
Ten: Hoang Minh Tuan
Lop: GS19TH1
*/
#include<stdio.h>
void Tim_Max(float a, float b, float c);
int main(){
float a, b, c;
printf("Nhap a: "); scanf("%f", &a);
printf("Nhap b: "); scanf("%f", &b);
printf("Nhap c: "); scanf("%f", &b);
return 0;
}
void Tim_Max(float a, float b, float c){
float max= a;
if(max < b) max= b;
else if(max < c) max= c;
printf("Gia Tri Lon Nhat La: %f", max);
}
- Nhập vào 1 chuỗi.
- Viết hàm đổi tất cả các ký tự (trừ ký tự đầu tiên) trong chuỗi sang in thường và in ra kết quả.
Ví Dụ: Chuỗi nahạp là "LAP Trinh cAn ban" thì chuỗi kết quả là "Lap Trinh Can Ban".
Giải
/*
Ten: Hoang Minh Tuan
Lop: GS19TH1
*/
#include<stdio.h>
#include<string.h>
#include<ctype.h>
#define MAX 100
void Chuan_Hoa(char a[]);
int main(){
char a[MAX];
printf("Nhap Vao 1 Chuoi: "); fflush(stdin); gets(a);
Chuan_Hoa(a);
return 0;
}
void Chuan_Hoa(char a[]){
int i, j, n= strlen(a);
while(a[0]==' '){
for(i=0; i<n; i++)
a[i]= a[i+1];
}
i=0;
while(i < n){
if(a[i]==' ' && a[i+1]==' '){
for(j=i; j<n; j++){
a[j]= a[j+1]; i--;
}
}i++;
}
while(a[n-1]==' ') a[n-1]= '\0';
strlwr(a);
a[0]= toupper(a[0]);
for(i=0; i<n; i++){
if(a[i]==' ') a[i+1]= toupper(a[i+1]);
}
printf("\nChuoi Sau Khi Chuan Hoa: \"%s\"", a);
}
- Nhập thông tin cho các hình vuông trong danh sách (Không nhập chu vi và diện tích).
- Sắp xếp danh sách tăng dần theo chu vi.
- Xuất thông tin các hình vuông (cạnh, chu vi và diện tích)
Gợi Ý: Chu Vi= cạnh x 4, Diện Tích= cạnh x cạnh.
Giải
/*
Ten: Hoang Minh Tuan
Lop: GS19TH1
*/
#include<stdio.h>
#define MAX 100
struct HinhVuong{
float canh, ChuVi, DienTich;
};
void Nhap(HinhVuong &b);
void Nhap_Mang(HinhVuong a[], int &n);
float Chu_VI(HinhVuong &b);
float Dien_Tich(HinhVuong &b);
void Xuat(HinhVuong b);
void Xuat_mang(HinhVuong a[], int n);
void Xap_Xep_Tang_Dan_Theo_CV(HinhVuong a[], int n);
int main(){
HinhVuong a[MAX]; int n;
printf("=============== NHAP MANG ==================\n"); Nhap_Mang(a,n);
printf("=============== XUAT MANG ==================\n"); Xap_Xep_Tang_Dan_Theo_CV(a,n); Xuat_mang(a,n);
return 0;
}
void Nhap(HinhVuong &b){
printf("Nhap Canh: "); scanf("%f", &b.canh);
printf("\n");
}
void Nhap_Mang(HinhVuong a[], int &n){
printf("Nhap SO Luong Hinh Vuong: "); scanf("%i", &n);
for(int i=0; i<n; i++){
printf("Hinh Vuong Thu [%i]: ", i+1);
Nhap(a[i]);
}
}
float Chu_VI(HinhVuong &b){
b.ChuVi= b.canh*4;
return b.ChuVi;
}
float Dien_Tich(HinhVuong &b){
b.DienTich= b.canh*b.canh;
return b.DienTich;
}
void Xuat(HinhVuong b){
printf("\nCanh= %.2f", b.canh);
printf("\nChu Vi= %.2f", Chu_VI(b));
printf("\nDien Tich= %.2f", Dien_Tich(b));
printf("\n");
}
void Xuat_mang(HinhVuong a[], int n){
for(int i=0; i<n; i++){
printf("Hinh Vuong Thu [%i]: ", i+1);
Xuat(a[i]);
}
}
void Xap_Xep_Tang_Dan_Theo_CV(HinhVuong a[], int n){
HinhVuong t;
for(int i=0; i<n-1; i++){
for(int j=i+1; j<n; j++){
if(Chu_VI(a[i]) > Chu_VI(a[j])){
t= a[i];
a[i]= a[j];
a[j]= t;
}
}
}
}
No Comment to " Giải Đề Thi Lập Trình 2017 - 2018 ( Đề Chẳn ) "