zoukankan      html  css  js  c++  java
  • 学生成绩等级统计

    设有如下结构体:
    struct student 
    {
     int num;
     char name[10];
     int grade;
    }
    按学生成绩等级将学生信息添加到相应等级的链表中。
    #include<stdio.h>
    #include
    <stdlib.h>
    #include
    <conio.h>
    #define N 13
    extern unsigned _floatconvert;    /*防止floating point formats not linked 错误发生*/
    #pragma extref _floatconvert

    typedef 
    struct student    
    {
        
    int num;
        
    char name[10];
        
    int grade;
    }Stu;

    Stu stu[N]
    ={{2,"Lin",92},
                {
    3,"Zhang",87},
                {
    4,"Zhao",72},
                {
    5,"Ma",91},
                {
    9,"Zhen",85},
                {
    11,"Wang",100},
                {
    12,"Li",86},
                {
    13,"Xu",83},
                {
    16,"Mao",78},
                {
    17,"Hao",95},
                {
    20,"Lu",82},
                {
    21,"Song",76},
                {
    22,"Wu",88}};
    typedef 
    struct node
    {
        Stu 
    *data;
        
    struct node *next;
    }Node;

    void show(Node *h)
    {
        Node 
    *p;
        p
    =h;
        
    while(p->next!=NULL)
        {
            printf(
    "%d\t%s\t%d\n",p->data->num,p->data->name,p->data->grade);
            p
    =p->next;
        }
    }

    void save(Node *h,Stu *p)
    {
        Node 
    *s,*t;
        s
    =(Node *)malloc(sizeof(Node));
        t
    =h;
        
    while(t->next!=NULL) t=t->next;
        s
    ->data=p;
        s
    ->next=NULL;
        t
    ->next=s;
    }

    void main()
    {
        
    int i,j,k,flag[4]={0};
        Node 
    *h[4]={NULL},*p;
        
    for(i=0;i<N;i++)
            
    for(j=1;j<4;j++)
            {
                k
    =10-int(stu[i].grade/10);
                
    if(k==0) k++;
                
    if(k==j)
                    
    if(flag[j]==0)
                    {
                        flag[j]
    =1;
                        p
    =(Node *)malloc(sizeof(Node));
                        h[j]
    =p;
                        p
    ->data=&stu[i];
                        p
    ->next=NULL;
                    }
                    
    else
                        save(h[j],
    &stu[i]);
            }
        
    for(i=1;i<4;i++)
        {
            printf(
    "The NO.%d table:\n",i);
            show(h[i]);
        }
        getch();
    }
  • 相关阅读:
    oracle nvl,to_char 函数(二)
    GridView的使用技巧
    asp.net应用程序性能的提高方案
    浅谈 ViewState
    最为关心的问题,hbase查询一条数据的过程.
    HBase的弊端。
    拙建:(mapreduce 如何来分步统计词频)
    终于找到hbase分布式存储数据的方式.
    迷局一般的openjdk6jdk!
    IT事业不好走,大家在虚拟的世界,记得回到真实的世界,不然你将会成为下一个张孝祥.
  • 原文地址:https://www.cnblogs.com/qixin622/p/734479.html
Copyright © 2011-2022 走看看