鱼C论坛

 找回密码
 立即注册
查看: 3446|回复: 6

循环队列基本运算的一个问题 求鱼油们 帮帮忙 急 在线等你们

[复制链接]
发表于 2013-4-10 22:36:06 | 显示全部楼层 |阅读模式
10鱼币
本帖最后由 权志龙_爱死你la 于 2013-4-10 22:46 编辑

#include<stdio.h>
#include<stdlib.h>
#define MAXSIZE 100
#define NULL 0
typedef struct
{
        int data[MAXSIZE];
        int front,rear;
}seqQue;
void main()
{
        
        int base_seqQue(seqQue * Q);
        int input_seqQue(seqQue * Q,int &e);
        int output_seqQue(seqQue * Q,int &e);
        seqQue * Q;
        Q=(seqQue*)malloc(sizeof(seqQue));
        if(Q==NULL)
                exit(0);
        else
                Q->front=Q->rear=-1;
        int e;
        
        printf("请输入队列中的原有的所有元素:\n");
        base_seqQue(Q);
        printf("请输入要入队的元素:\n");
        input_seqQue(Q,e);
    output_seqQue(Q,e);
        system("pause");
}

int base_seqQue(seqQue * Q)
{
        int i;
        for(i=0;i<MAXSIZE;i++)
        {
                scanf("%d",&Q->data);
if(Q->data==0)
return 0;
Q->rear++;
}
      return 1;
}
int input_seqQue(seqQue * Q,int &e)
{
        if((Q->rear+1)%MAXSIZE==Q->front)
        {   printf("队满!不能插入!\n");

                return 0;
        }
        else

        {
                Q->rear=(Q->rear++)%MAXSIZE;
                Q->data[Q->rear]=e;
                return 1;
        }
}
int output_seqQue(seqQue * Q,int &e)
{
   if(Q->front==Q->rear)
   {
           printf("队空!不能输出!\n");
   }
   else
   {
                Q->front=(Q->front++)%MAXSIZE;
                e=Q->data[Q->front];//读出队头元素

   }
   return 1;
}
运行的时候红色字的时候 就结束了 为什么??

M8$B]%5YI~L7Z99C0P~VM@7.jpg

最佳答案

查看完整内容

呵呵,不好意思,又是你,不不,又是我。 你的红色字体的地方忘了给e赋值,所以得不到你要的结果。 main的代码: 结果:
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2013-4-10 22:36:07 | 显示全部楼层
呵呵,不好意思,又是你,不不,又是我。

你的红色字体的地方忘了给e赋值,所以得不到你要的结果。

main的代码:

  1. void main()
  2. {

  3.         int base_seqQue(seqQue * Q);
  4.         int input_seqQue(seqQue * Q,int &e);
  5.         int output_seqQue(seqQue * Q,int &e);
  6.         seqQue * Q;
  7.         Q=(seqQue*)malloc(sizeof(seqQue));
  8.         if(Q==NULL)
  9.                 exit(0);
  10.         else
  11.                 Q->front=Q->rear=-1;
  12.         int e;

  13.         printf("请输入队列中的原有的所有元素:\n");
  14.         base_seqQue(Q);
  15.         printf("请输入要入队的元素:");
  16.         scanf("%d",&e);
  17.         input_seqQue(Q,e);
  18.         printf("队列的头元素是:");
  19.         output_seqQue(Q,e);
  20.         printf("%d\n",e);
  21.         system("pause");
  22. }
复制代码
结果:
1.jpg
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2013-4-10 22:48:26 | 显示全部楼层
我反反复复的编辑很多遍 怎么 就一直是斜体的  data 后的[i]还能自动省略  郁闷 鱼油们 对付着看吧  我那个data后都有[i]的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2013-4-11 08:53:19 From FishC Mobile | 显示全部楼层
小新110 发表于 2013-4-10 23:35
呵呵,不好意思,又是你,不不,又是我。

你的红色字体的地方忘了给e赋值,所以得不到你要的结果。

哦哦,我马虎了,谢谢你哈,手机不能设满意答案,中午回去马上送鱼币,希望下次有问题你也会来帮我回答,定有重谢:-D
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2013-4-11 14:06:56 | 显示全部楼层

哦 对了 问你哦  你这代码是怎么发上去的  我的怎么编辑都是斜体太难看了  回答者看着也不舒服
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-4-11 16:03:52 | 显示全部楼层
回复里面点高级,两个尖括号包起来的那个功能,就是添加代码
1.jpg
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-4-22 01:57:56 | 显示全部楼层
强烈支持楼主ing……
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-3-28 17:07

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表