Giải Để Thi Lập Trình 2017 - 2018 - Đề Lẻ
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".
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 giá trị cho các phần tử của mảng.
- Xuất các phần tử của mảng.
- Tìm và trả về giá trị nhỏ nhất trên cột c (với c được nhập từ bàn phím, 1 <= c <=m, qui ước cột đầu tiên là 1).
Giải
/*
Ten: Hoang Minh Tuan
Lop: GS19TH1
*/
#include<stdio.h>
#define MAX 100
void Nhap_Mang(int a[][MAX], int &n, int &m);
void Xuat_Mang(int a[][MAX], int n, int m);
void Tim_Min(int a[][MAX], int n, int m);
int main(){
int a[MAX][MAX], n, m; //n: dong || m: cot
printf("=============== NHAP MANG ==================\n"); Nhap_Mang(a,n,m);
printf("=============== XUAT MANG ==================\n"); Xuat_Mang(a,n,m);
Tim_Min(a,n,m);
return 0;
}
void Nhap_Mang(int a[][MAX], int &n, int &m){
do{
printf("Nhap So dong: "); scanf("%i", &n);
printf("Nhap So Cot: "); scanf("%i", &m);
}while(n<1 && m<1 && printf("\nNhap Lai! Dong va cot > 0\n"));
for(int i=0; i<n; i++){
for(int j=0; j<m; j++){
printf("a[%i][%i]: ", i+1, j+1);
scanf("%i", &a[i][j]);
}printf("\n");
}
}
void Xuat_Mang(int a[][MAX], int n, int m){
for(int i=0; i<n; i++){
for(int j=0; j<m; j++){
printf("%5i", a[i][j]);
}printf("\n");
}
}
void Tim_Min(int a[][MAX], int n, int m){
int x;
printf("Nhap Cot Can Tim Min: "); scanf("%i", &x);
int min= a[0][x-1] , j;
for(int i=0; i<n; i++){
if(min > a[i][x-1]) min= a[i][x-1];
}
printf("Min= %i", min);
}
- Nhập thông tin cho các hình Ellipse trong danh sách (Không nhập chu vi và diện tích).
- Xuất thông tin các hình Ellipse (x,y,r1,r2,Chu vi và diện tích).
- Liệt Kê những hình Ellipse có tâm nằm trên trục tung.
Biết rằng, Pi= 3.14, Diện tích= Pi x R1 x R2, Chu Vi= 2 x Pi x Căn ((R1 x R1 + R2 x R2)/2).
Giải
/*
Ten: Hoang Minh Tuan
Lop: GS19TH1
*/
#include<stdio.h>
#include<math.h>
#define MAX 100
const float Pi= 3.14;
struct Ellipse{
float x, y, r1, r2, ChuVi, DienTich;
};
void Nhap(Ellipse &b);
void Nhap_Mang(Ellipse a[], int &n);
void Tinh_CV(Ellipse &b);
void TInh_DT(Ellipse &b);
void Xuat(Ellipse b);
void Xuat_Mang(Ellipse a[], int n);
void Liet_Ke_Tren_Truc_Tung(Ellipse a[], int n);
int main(){
Ellipse a[MAX]; int n;
printf("============= NHAP MANG ================\n"); Nhap_Mang(a,n);
printf("============= XUAT MANG ================\n"); Xuat_Mang(a,n);
printf("============= LIET KE ================\n"); Liet_Ke_Tren_Truc_Tung(a,n);
return 0;
}
void Nhap(Ellipse &b){
printf("Nhap X= "); scanf("%f", &b.x);
printf("Nhap y= "); scanf("%f", &b.y);
printf("Nhap R1= "); scanf("%f", &b.r1);
printf("Nhap R2= "); scanf("%f", &b.r2);
printf("\n");
}
void Nhap_Mang(Ellipse a[], int &n){
printf("Nhap SO Luong Hinh Ellipse: "); scanf("%i", &n);
for(int i=0; i<n; i++){
printf("Hinh Ellips Thu [%i]\n", i+1);
Nhap(a[i]);
}
}
void Tinh_CV(Ellipse &b){
b.ChuVi= 2*Pi*sqrt((pow(b.r1,2) + pow(b.r2,2)) / 2);
printf("\nChu Vi= %.2f", b.ChuVi);
}
void TInh_DT(Ellipse &b){
b.DienTich= Pi*b.r1*b.r2;
printf("\nDien Tich= %.2f\n\n", b.DienTich);
}
void Xuat(Ellipse b){
printf("X= %.2f", b.x);
printf("\nY= %.2f", b.y);
printf("\nR1= %.2f", b.r1);
printf("\nR2= %.2f", b.r2);
Tinh_CV(b);
TInh_DT(b);
}
void Xuat_Mang(Ellipse a[], int n){
for(int i=0; i<n ;i++){
printf("Hinh Ellips Thu [%i]\n", i+1);
Xuat(a[i]);
}
}
void Liet_Ke_Tren_Truc_Tung(Ellipse a[], int n){
printf("\nHinh Ellipse Nam Tren Truc Tung\n");
for(int i=0; i<n; i++){
if(a[i].x == 0) Xuat(a[i]);
}
}
No Comment to " Giải Để Thi Lập Trình 2017 - 2018 - Đề Lẻ "