| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 654 人关注过本帖
标题:求助:C-free上运行有关链表储存
只看楼主 加入收藏
书画家怀
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2009-12-21
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:3 
求助:C-free上运行有关链表储存
题目:
编一程序,输入职员工号和完成产品数量,程序允许同一职工有多次输入,
由程序对其完成数量实现累计。程序按完成数量对它们排序,并确定名次。
按完成产品数量由多到少顺序,输出名次、同一名次的职员人数及他们的工号(工号由大到小)。
要求程序用有序链表储存数据信息.
搜索更多相关主题的帖子: 储存 链表 运行 
2009-12-22 20:19
书画家怀
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2009-12-21
收藏
得分:0 
都 没人会啊!看来 难度蛮大的
2009-12-22 23:25
xiaotutu6000
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:85
专家分:137
注 册:2009-10-30
收藏
得分:10 
   又是这种卖力的程序~
       用结构体去做,
给你个链表的模板   在自己去琢磨
     举一反三出来
#include <stdio.h>
#include <stdlib.h>

struct numstruct
{
    int num;
    char name[20];
    struct numstruct *next;
};

void main()
{
    struct numstruct *Head;
    struct numstruct *New;
    struct numstruct *Tail;
    int stuNum=0;
    while(1)
    {
        if((New = (struct numstruct *)malloc(sizeof(struct numstruct)))==NULL)
        {
            printf("内存空间开辟失败,程序结束\n");
            exit(0);
        }
        printf("请输入第%d个学生的学号:",stuNum+1);
        scanf("%d",&New->num);
        printf("请输入第%d个学生的姓名:",stuNum+1);
        scanf("%s",&New->name);
        New->next=NULL;
        if(stuNum==0)
        {
            Head=New;
        }
        else
        {
            Tail->next=New;
        }
        Tail=New;
        stuNum++;
        if(stuNum==3)
        {
            break;
        }
    }
    do
    {
        printf("%d\n",Head->num);
        printf("%s\n",Head->name);
        Head=Head->next;
    }
    while(Head!=NULL);
}
收到的鲜花
  • 书画家怀2009-12-23 11:22 送鲜花  1朵   附言:我很赞同
2009-12-23 00:11
wylzjcw
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:185
专家分:174
注 册:2009-1-4
收藏
得分:10 
#include <stdio.h>

struct tafWorker
{   int iNumber;
    int iProductCount;
    struct tafWorker *pNext,*pPrev;
}

typedef stuct tafWorker worker;
worker *pHead

void main()
{
    int i,j;
    worker workArray[5] = {{105,0,NULL},{104,0,NULL},
                           {103,0,NULL},{102,0,NULL},{101,0,NULL}};
    pHead = workArray;
    for(i=0;i<4;++i)
    {
        workArray[i].pNext = Head+i+1;
        if(i !=0 ) workArray[i].pPrev = head +i-1;
    }
        
    while(i!=0)
    {
        scanf("%d,%d",&i,&j);
        InputData(i,j);
     }
     OutPutData(p);
}

void InputData(int iNum,int iProdCount)
{
    worher *pCur=pHead,*pTmp;
    while(pCur->pNext != NULL)
    {
         if(iNum == pCur->iNumber)
         {
             pCur->iProductCount += iProdCount;
             pTmp = pCur;
             while(pTmp = pTmp->pPrev != NULL)
             {
                  if(pTmp->iProDuctCount > pCur->iProductCount
                  ||(pTmp->iProDuctCount = pCur->iProductCount && pTmp->iNumber > pCur->iNumber)
                  {
                       InterChange(pCur,pTmp);
                       break;
                   }
              }
          }
     }
}
  
void InterChange(worker *pCur,worker *pTmp)
{
    worker workTmp;
    workTmp.iNumber = *Pcur;
    *pCur = *pTmp;
    *pTmp = workTmp;
}

void Output(worker *p);
{
    while(p != Null)
    {
        printf("%5d %5d\n",p->iNumber,p->iProductCount);
        p=p->pNext;
    }
}                     
                                






收到的鲜花

勾股定理用相似三角形证明最合理
2009-12-23 00:28
快速回复:求助:C-free上运行有关链表储存
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016209 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved