#include <stdio.h>
#include <string.h>
 
#define MAX 100
 
// Cấu trúc lưu thông tin công ty
struct CongTy {
    char ten[50];
    int soNguoi;
    float doanhThu;
    float laiRong;
    float tiSuat;
    float loiNhuanNguoi;
    char xepLoai[20];
};
 
// Hàm tính toán các giá trị
void tinhToan(struct CongTy ds[], int n) {
    for (int i = 0; i < n; i++) {
        ds[i].tiSuat = (ds[i].laiRong / (ds[i].doanhThu * 1000)) * 100; // vì laiRong triệu USD, doanhThu tỷ USD
        ds[i].loiNhuanNguoi = ds[i].laiRong / ds[i].soNguoi;
 
        if (ds[i].doanhThu > 10)
        else if (ds[i].doanhThu >= 5)
            strcpy(ds
[i
].
xepLoai, "Trung Binh");         else
            strcpy(ds
[i
].
xepLoai, "Thap");     }
}
 
// Hàm in danh sách
void inBang(struct CongTy ds[], int n) {
    printf("THONG TIN THONG KE 2023\n");     printf("---------------------------------------------------------------------\n");     printf("TT | Cong ty        | So nguoi | Doanh thu | Lai rong | Ti suat | Loi nhuan/nguoi | Xep loai\n");     printf("---------------------------------------------------------------------\n");     for (int i = 0; i < n; i++) {
        printf("%-2d | %-14s | %-8d | %-10.2f | %-8.0f | %-7.2f | %-15.4f | %-10s\n",                i + 1, ds[i].ten, ds[i].soNguoi, ds[i].doanhThu, ds[i].laiRong,
               ds[i].tiSuat, ds[i].loiNhuanNguoi, ds[i].xepLoai);
    }
    printf("---------------------------------------------------------------------\n"); }
 
// Hàm thống kê
void thongKe(struct CongTy ds[], int n) {
    int maxNguoi = ds[0].soNguoi;
    float maxDoanhThu = ds[0].doanhThu;
    float maxTiSuat = ds[0].tiSuat;
 
    for (int i = 1; i < n; i++) {
        if (ds[i].soNguoi > maxNguoi)
            maxNguoi = ds[i].soNguoi;
        if (ds[i].doanhThu > maxDoanhThu)
            maxDoanhThu = ds[i].doanhThu;
        if (ds[i].tiSuat > maxTiSuat)
            maxTiSuat = ds[i].tiSuat;
    }
 
    printf("So nhan vien dong nhat: %d nguoi\n", maxNguoi
);     printf("Doanh thu cao nhat: %.2f ty USD\n", maxDoanhThu
);     printf("Ti suat cao nhat: %.2f %%\n", maxTiSuat
); }
 
int main() {
    struct CongTy ds[MAX] = {
        {"Vinamilk", 10000, 2.5, 350},
        {"Vietcombank", 22000, 1.85, 1100},
        {"Vingroup", 50000, 5.3, 260},
        {"FPT", 42000, 5.8, 330},
        {"Hoa Phat", 30000, 3.2, 210},
        {"VietnamAir", 15000, 3.2, 300},
        {"Petrovietnam", 60000, 29.2, 2100}
    };
 
    int n = 7;
 
    tinhToan(ds, n);
    inBang(ds, n);
    thongKe(ds, n);
 
    return 0;
}
				I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdHJpbmcuaD4KCiNkZWZpbmUgTUFYIDEwMAoKLy8gQ+G6pXUgdHLDumMgbMawdSB0aMO0bmcgdGluIGPDtG5nIHR5CnN0cnVjdCBDb25nVHkgewogICAgY2hhciB0ZW5bNTBdOwogICAgaW50IHNvTmd1b2k7CiAgICBmbG9hdCBkb2FuaFRodTsKICAgIGZsb2F0IGxhaVJvbmc7CiAgICBmbG9hdCB0aVN1YXQ7CiAgICBmbG9hdCBsb2lOaHVhbk5ndW9pOwogICAgY2hhciB4ZXBMb2FpWzIwXTsKfTsKCi8vIEjDoG0gdMOtbmggdG/DoW4gY8OhYyBnacOhIHRy4buLCnZvaWQgdGluaFRvYW4oc3RydWN0IENvbmdUeSBkc1tdLCBpbnQgbikgewogICAgZm9yIChpbnQgaSA9IDA7IGkgPCBuOyBpKyspIHsKICAgICAgICBkc1tpXS50aVN1YXQgPSAoZHNbaV0ubGFpUm9uZyAvIChkc1tpXS5kb2FuaFRodSAqIDEwMDApKSAqIDEwMDsgLy8gdsOsIGxhaVJvbmcgdHJp4buHdSBVU0QsIGRvYW5oVGh1IHThu7cgVVNECiAgICAgICAgZHNbaV0ubG9pTmh1YW5OZ3VvaSA9IGRzW2ldLmxhaVJvbmcgLyBkc1tpXS5zb05ndW9pOwogICAgICAgIAogICAgICAgIGlmIChkc1tpXS5kb2FuaFRodSA+IDEwKQogICAgICAgICAgICBzdHJjcHkoZHNbaV0ueGVwTG9haSwgIkNhbyIpOwogICAgICAgIGVsc2UgaWYgKGRzW2ldLmRvYW5oVGh1ID49IDUpCiAgICAgICAgICAgIHN0cmNweShkc1tpXS54ZXBMb2FpLCAiVHJ1bmcgQmluaCIpOwogICAgICAgIGVsc2UKICAgICAgICAgICAgc3RyY3B5KGRzW2ldLnhlcExvYWksICJUaGFwIik7CiAgICB9Cn0KCi8vIEjDoG0gaW4gZGFuaCBzw6FjaAp2b2lkIGluQmFuZyhzdHJ1Y3QgQ29uZ1R5IGRzW10sIGludCBuKSB7CiAgICBwcmludGYoIlRIT05HIFRJTiBUSE9ORyBLRSAyMDIzXG4iKTsKICAgIHByaW50ZigiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iKTsKICAgIHByaW50ZigiVFQgfCBDb25nIHR5ICAgICAgICB8IFNvIG5ndW9pIHwgRG9hbmggdGh1IHwgTGFpIHJvbmcgfCBUaSBzdWF0IHwgTG9pIG5odWFuL25ndW9pIHwgWGVwIGxvYWlcbiIpOwogICAgcHJpbnRmKCItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIpOwogICAgZm9yIChpbnQgaSA9IDA7IGkgPCBuOyBpKyspIHsKICAgICAgICBwcmludGYoIiUtMmQgfCAlLTE0cyB8ICUtOGQgfCAlLTEwLjJmIHwgJS04LjBmIHwgJS03LjJmIHwgJS0xNS40ZiB8ICUtMTBzXG4iLAogICAgICAgICAgICAgICBpICsgMSwgZHNbaV0udGVuLCBkc1tpXS5zb05ndW9pLCBkc1tpXS5kb2FuaFRodSwgZHNbaV0ubGFpUm9uZywKICAgICAgICAgICAgICAgZHNbaV0udGlTdWF0LCBkc1tpXS5sb2lOaHVhbk5ndW9pLCBkc1tpXS54ZXBMb2FpKTsKICAgIH0KICAgIHByaW50ZigiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iKTsKfQoKLy8gSMOgbSB0aOG7kW5nIGvDqgp2b2lkIHRob25nS2Uoc3RydWN0IENvbmdUeSBkc1tdLCBpbnQgbikgewogICAgaW50IG1heE5ndW9pID0gZHNbMF0uc29OZ3VvaTsKICAgIGZsb2F0IG1heERvYW5oVGh1ID0gZHNbMF0uZG9hbmhUaHU7CiAgICBmbG9hdCBtYXhUaVN1YXQgPSBkc1swXS50aVN1YXQ7CgogICAgZm9yIChpbnQgaSA9IDE7IGkgPCBuOyBpKyspIHsKICAgICAgICBpZiAoZHNbaV0uc29OZ3VvaSA+IG1heE5ndW9pKQogICAgICAgICAgICBtYXhOZ3VvaSA9IGRzW2ldLnNvTmd1b2k7CiAgICAgICAgaWYgKGRzW2ldLmRvYW5oVGh1ID4gbWF4RG9hbmhUaHUpCiAgICAgICAgICAgIG1heERvYW5oVGh1ID0gZHNbaV0uZG9hbmhUaHU7CiAgICAgICAgaWYgKGRzW2ldLnRpU3VhdCA+IG1heFRpU3VhdCkKICAgICAgICAgICAgbWF4VGlTdWF0ID0gZHNbaV0udGlTdWF0OwogICAgfQoKICAgIHByaW50ZigiU28gbmhhbiB2aWVuIGRvbmcgbmhhdDogJWQgbmd1b2lcbiIsIG1heE5ndW9pKTsKICAgIHByaW50ZigiRG9hbmggdGh1IGNhbyBuaGF0OiAlLjJmIHR5IFVTRFxuIiwgbWF4RG9hbmhUaHUpOwogICAgcHJpbnRmKCJUaSBzdWF0IGNhbyBuaGF0OiAlLjJmICUlXG4iLCBtYXhUaVN1YXQpOwp9CgppbnQgbWFpbigpIHsKICAgIHN0cnVjdCBDb25nVHkgZHNbTUFYXSA9IHsKICAgICAgICB7IlZpbmFtaWxrIiwgMTAwMDAsIDIuNSwgMzUwfSwKICAgICAgICB7IlZpZXRjb21iYW5rIiwgMjIwMDAsIDEuODUsIDExMDB9LAogICAgICAgIHsiVmluZ3JvdXAiLCA1MDAwMCwgNS4zLCAyNjB9LAogICAgICAgIHsiRlBUIiwgNDIwMDAsIDUuOCwgMzMwfSwKICAgICAgICB7IkhvYSBQaGF0IiwgMzAwMDAsIDMuMiwgMjEwfSwKICAgICAgICB7IlZpZXRuYW1BaXIiLCAxNTAwMCwgMy4yLCAzMDB9LAogICAgICAgIHsiUGV0cm92aWV0bmFtIiwgNjAwMDAsIDI5LjIsIDIxMDB9CiAgICB9OwoKICAgIGludCBuID0gNzsKCiAgICB0aW5oVG9hbihkcywgbik7CiAgICBpbkJhbmcoZHMsIG4pOwogICAgdGhvbmdLZShkcywgbik7CgogICAgcmV0dXJuIDA7Cn0=