Từ 1 tới 3 trên tổng số 3 kết quả

Đề tài: In ra mảng gồm tên các học sinh sắp theo thứ tự tăng dần chữ cái đầu.

  1. #1
    Ngày gia nhập
    09 2016
    Bài viết
    1

    Mặc định In ra mảng gồm tên các học sinh sắp theo thứ tự tăng dần chữ cái đầu.

    Viết chương trình bằng ngôn ngữ C nhập vào mảng gồm họ tên các học sinh (tối đa 50 học sinh, mỗi họ tên học sinh không quá 40 ký tự).
    In ra mảng gồm tên các học sinh sắp theo thứ tự tăng dần chữ cái đầu.
    Ví dụ :
    n=3
    Nguyễn Văn An
    Vu Tuan Cuong
    Pham Bien
    Xuất ra:
    An
    Bien
    Cuong
    Xin mọi người giúp ạ.

  2. #2
    Ngày gia nhập
    01 2017
    Bài viết
    0

    // Sap xep danh sach theo ho ten, diem trung binh
    #include <stdio.h>
    #include <string.h>
    #include <conio.h>
    typedef struct
    {
    char ten[20];
    int nsinh;
    char gtinh[3];
    float toan, ly, hoa, dtb;
    } thisinh;
    //-----------------------
    void Nhap(thisinh hs[], int n)
    {
    int i,tam1; float tam2;
    for(i=0; i<n; i++)
    {
    fflush(stdin);
    printf("Ho ten hoc sinh thu %d: ",i+1);
    gets(hs[i].ten);
    printf("Nam sinh: ");
    scanf("%d",&tam1);
    hs[i].nsinh = tam1;
    printf("Gioi tinh (nam / nu): ");
    fflush(stdin);
    gets(hs[i].gtinh);
    printf("Diem Toan: ");
    scanf("%f",&tam2);
    hs[i].toan = tam2;
    printf("Diem Ly: ");
    scanf("%f",&tam2);
    hs[i].ly = tam2;
    printf("Diem Hoa: ");
    scanf("%f",&tam2);
    hs[i].hoa = tam2;
    hs[i].dtb = (hs[i].toan + hs[i].ly + hs[i].hoa)/3;
    }
    }
    void In_ra(thisinh hs[], int n)
    {
    int i;
    printf("\n%3s%20s%8s%8s%5s%5s%5s%5s","STT","Ho va ten","Nsinh","Gtinh",
    "Toan","Ly","Hoa","DTB");
    for(i=0; i<n; i++)
    printf("\n%3d%20s%8d%8s%5.1f%5.1f%5.1f%5.1f",i+1,h s[i].ten,hs[i].nsinh,
    hs[i].gtinh,hs[i].toan,hs[i].ly,hs[i].hoa,hs[i].dtb);
    }
    //-------------------------------
    void Sap_xep(thisinh hs[], int n)
    {
    int i,j;
    thisinh tam;
    for(i=0; i<n-1; i++)
    for(j=i+1; j<n; j++)
    if(strcmp(hs[i].ten,hs[j].ten) > 0 ||
    (strcmp(hs[i].ten, hs[j].ten)==0 && hs[i].dtb < hs[j].dtb))
    {
    tam = hs[i];
    hs[i] = hs[j];
    hs[j] = tam;
    }
    }
    //-------------------------------
    void main()
    {
    thisinh ts[100];
    int n;
    clrscr();
    do
    {
    printf("Nhap so luong thi sinh: ");
    scanf("%d",&n);
    } while(n <= 0 || n > 100);
    Nhap(ts,n);
    clrscr();
    printf("\nDanh sach vua nhap:");
    In_ra(ts,n);
    Sap_xep(ts,n);
    printf("\nDanh sach sau khi sap xep:");
    In_ra(ts,n);
    getch();
    }

  3. #3
    Ngày gia nhập
    01 2013
    Bài viết
    1,418

    ^ Lạc đề. Không có hàm tách là thấy toạch rồi.

    Nếu vẫn còn dùng Selection thì tách 1 lần rồi lưu riêng cái min.
    Đã được chỉnh sửa lần cuối bởi prog10 : 20-01-2017 lúc 07:49 PM.

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn