首页 > 用户发贴区 > 编程问题提问区 > 麻烦大家帮帮忙
2007
11-11

我的程序在vc下不能循环执行,不知道什么问题.编译什么的都没问题,麻烦大家看看


#include <stdio.h>
#include <stdlib.h>
#define MAXSIZE 255
int Stack[MAXSIZE];


int Top=-1;//在这里用作栈顶指示符
void Push(int Stack[MAXSIZE],int a)
{
 if(Top>=MAXSIZE-1)
  printf(“堆栈已满,不能再插入数据!”);
 else
 {
  Top+=1;
  Stack[Top]=a;
 }
}
void Pop(int Stack[255],int &e)
{
   if(Top==-1)
   printf(“当前堆栈已经是空栈!不能执行退栈操作!”);
   else
   {
    e=Stack[Top];
    Top–;
   }
}
void main()
{
 int N;
 int e;
 char Index;
 printf(“请问您要进制间的转化吗?(Y OR N)\n”);
 scanf(“%c”,&Index);
    while(Index==’Y'||Index==’y') 
 {  
  printf(“请输入您要转化为八进制的十进制数:\n”);
     scanf(“%d”,&N);
     while(N)
  {
         Push(Stack,N%8);
         N=N/8;
  }
     printf(“转化后的八进制为如下所示:\n”);
     while(Top!=-1)
  {
     Pop(Stack,e);
     printf(“%d”,e);
  }
  printf(“\n”);
  printf(“请问您要进制间的转化吗?(Y OR N)\n”);
  scanf(“%c”,&Index);
 }
 printf(“谢谢使用万里的程序!\n”);
 
  
}
  


麻烦大家帮帮忙》有 1 条评论

  1. 5iluo 说:

    void main()
    {
     int N;
     int e;
     char Index;
     printf(“请问您要进制间的转化吗?(Y OR N)\n”);
     scanf(“%c”,&Index);
        while(Index==’Y'||Index==’y')
     {  
      
      printf(“请输入您要转化为八进制的十进制数:\n”);
      scanf(“%d”,&N);
      while(N)
      {
       Push(Stack,N%8);
       N=N/8;
      }
      printf(“转化后的八进制为如下所示:\n”);
      while(Top!=-1)
      {
       Pop(Stack,e);
       printf(“%d”,e);
      }
      fflush(stdin);                                         //其它不变,加上这一句   清空输入缓冲,,
      printf(“\n”);
      printf(“请问您要进制间的转化吗?(Y OR N)\n”); //不然你最后那个回车键到了这里

      scanf(“%c”,&Index);                                    //成了你要输入的,所以就退出了

     }
     printf(“谢谢使用万里的程序!\n”);
     
     
    }

留下一个回复