nhập vào danh sách n tên người.liệt kê cách chọn ra đúng k người trong số n người đó *làm theo kiểu dữ liệu nhé.K làm c+. không hoan nghênh chép mạng ^-^ Ai làm nhanh và đúng mk sẽ cho 5 * và vote trả lời hay nhất cho

1 câu trả lời

#include <stdio.h>
#include <conio.h>
#pragma pack(1) // Tránh bị làm tròn bộ nhớ.
// Khai báo cấu trúc dữ liệu sinh viên.
struct SinhVien
{
char MaSo[30];
float DiemToan, DiemLy, DiemHoa;
};
typedef struct SinhVien SINHVIEN; // Đổi "struct SinhVien" thành "SINHVIEN"
void NhapDuLieu(SINHVIEN &);
void XuatSinhVien(SINHVIEN);
float TinhDiemTrungBinh(SINHVIEN);
// Hàm nhập dữ liệu sinh viên.
void NhapDuLieu(SINHVIEN &x) // Chú ý: Phải có &: Tham chiếu.

fflush(stdin); // Xóa bộ nhớ đệm.
printf("\nNhap vao ho ten: ");
gets(x.MaSo);
// Nhập điểm toán.
do{
printf("\nNhap vao diem toan: ");
scanf("%f", &x.DiemToan);
if(x.DiemToan < 0 || x.DiemToan > 10)
{
printf("\nDiem toan khong hop le. Xin kiem tra lai !");
}
}while(x.DiemToan < 0 || x.DiemToan > 10);
// Nhập điểm lý.
do{
printf("\nNhap vao diem ly: ");
scanf("%f", &x.DiemLy);
if(x.DiemLy < 0 || x.DiemLy > 10)
{
printf("\nDiem ly khong hop le. Xin kiem tra lai !");
}
}while(x.DiemLy < 0 || x.DiemLy > 10);
// Nhập điểm hóa.
do{
printf("\nNhap vao diem hoa: ");
scanf("%f", &x.DiemHoa);
if(x.DiemHoa < 0 || x.DiemHoa > 10)
{
printf("\nDiem hoa khong hop le. Xin kiem tra lai !");
}
}
 while(x.DiemHoa < 0 || x.DiemHoa > 10);
}
// Hàm xuất sinh viên.
void XuatSinhVien(SINHVIEN x)
{
printf("\nMa so: %s", x.MaSo);
printf("\nDiem toan: %f", x.DiemToan);
printf("\nDiem ly: %f", x.DiemLy);
printf("\nDiem hoa: %f", x.DiemHoa);
printf("\nDiem trung binh la: %f", TinhDiemTrungBinh(x));
}
// Tính điểm trung bình của sinh viên.
float TinhDiemTrungBinh(SINHVIEN x)
{
return (x.DiemToan + x.DiemLy + x.DiemHoa) / 3;
}
void main()
{
SINHVIEN x;
NhapDuLieu(x);
XuatSinhVien(x);
printf("\nsizeof = %d", sizeof(x));
getch();

mk làm đối với TH nhập điểm

Câu hỏi trong lớp Xem thêm