| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 836 人关注过本帖
标题:求助用c语言完成
只看楼主 加入收藏
沉沦过迁
Rank: 2
来 自:广西百色
等 级:论坛游民
帖 子:2297
专家分:10
注 册:2007-5-8
结帖率:100%
收藏
 问题点数:0 回复次数:4 
求助用c语言完成
模拟队列管理算法,通过键盘输入0--100之间的整数,当输入奇数时,奇数入列,当输入偶数时,执行出队操作,当输入-1时,结束程序,并输出队列中所有的数据。
搜索更多相关主题的帖子: c语言 
2008-03-04 01:35
xianshizhe111
Rank: 1
等 级:新手上路
帖 子:1451
专家分:0
注 册:2007-12-8
收藏
得分:0 
详细说一下规则.
(1,3,5,7,9,11)
2,4.
2008-03-04 02:59
zz578
Rank: 1
等 级:新手上路
帖 子:89
专家分:0
注 册:2006-7-31
收藏
得分:0 
#include<stdio.h>
#include<stdlib.h>
#define SIZE 100
typedef struct{       //队列数据结构
    int data[SIZE];
    int front,rear;
    int count;
 }QUEUE;
void initqueue(QUEUE**);//队列初始化
void enqueue(QUEUE*,int i);//入队
int dequeue(QUEUE*);//出队
bool queueempty(QUEUE*);//判队空
bool queuefull(QUEUE*);//判队满
int main(void)
{
    int x,m;
    QUEUE *n1;
    initqueue(&n1);
    scanf("%d",&x);
    while(x!=-1){    //输入-1结束
        m=x;
        if(x%2){    //偶数时入队
            enqueue(n1,m);
            puts("enqueue ok");
        }
        else    //奇数时出队
        {
            if((x=dequeue(n1))!=-2)    //返回-2时表示队列已空,不执行输出
                printf("dequeue:%d\n",x);
        }
        scanf("%d",&x);
    }
}

void initqueue(QUEUE** Q)
{
    *Q=(QUEUE*)malloc(sizeof(QUEUE));
    (*Q)->count=0;
    (*Q)->rear=0;
    (*Q)->front=0;
}
bool queueempty(QUEUE *Q)
{
    return Q->count==0;
}
bool queuefull(QUEUE *Q)
{
    return Q->count==SIZE;
}
void enqueue(QUEUE *Q,int i)
{
    if(queuefull(Q)){
        printf("queue overflow!");
        return;
    }
    Q->count++;
    Q->data[Q->rear]=i;
    Q->rear=(Q->rear+1)%SIZE;
}
int dequeue(QUEUE *Q)
{
    if(queueempty(Q)){
        printf("queue empty!\n");
        return -2;
    }
    int temp=Q->data[Q->front];
    Q->count--;
    Q->front=(Q->front+1)%SIZE;
    return temp;
}

[[it] 本帖最后由 zz578 于 2008-3-4 10:51 编辑 [/it]]

MSN:mr_zz@
QQ:284913258
计算机及应用专业
2008-03-04 10:48
沉沦过迁
Rank: 2
来 自:广西百色
等 级:论坛游民
帖 子:2297
专家分:10
注 册:2007-5-8
收藏
得分:0 
谢谢哦!!!

也许我没有明天,但是我拥有现在
2008-03-04 12:14
孤魂居士
Rank: 2
来 自:老A(中国地大)
等 级:论坛游民
威 望:4
帖 子:1142
专家分:18
注 册:2007-5-21
收藏
得分:0 
顶``很好

准备用3年做个高级软件工程师 10年也做不成。准备用10年做成高级软件工程师 3年就成了QQ 群 45771086
欢迎版主...欢迎JAVA爱好者...
一起从深夜 到凌晨...
2008-03-04 12:21
快速回复:求助用c语言完成
数据加载中...
 
   



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

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