C语言求助 将十进制数据转换为你n进制数据 并输出

2019-07-15 22:07发布

#include <stdio.h>
#include <stdlib.h>
#define MAXSIZE 20                       /* 数组最大界限 */
typedef int ElemType;                    /* 数据元素类型 */
typedef  struct
   { ElemType  a[MAXSIZE];               /* 一维数组子域 */
     int  top;                        /* 栈顶指针子域    */
   }SqStack;                     /* 栈的顺序结构体类型 */
SqStack  s1;
/*  函数声明  */
void init_s(SqStack *s);
void out_s(SqStack s);
void push(SqStack *s,ElemType e);
ElemType pop(SqStack *s);
/*  主函数  */
void main()
{ int k,n;  
  init_s( &s1);          /* 初始化一个空栈 */
  do {
       printf("      1. 请输入一个十进制数据");
       scanf("%d",&k);
    printf("      2. 输入需要转换的进制数据");
   
      scanf("%d",&n);if(n==0) break;
      
    k%=n;
       push(&s1,k);
    }while(k!=0);
   // printf("                再见!");
//     printf("         打回车键,返回。"); ch=getchar();
} /* main */
/*  初始化空栈  */
void init_s(SqStack *s)
{ s->top=-1;
} /*  init_s */
/*  输出栈的内容  */
void out_s(SqStack s)
{ char ch; int i;                  /*  千万不能修改栈顶指针top */
   if (s.top==-1) printf(" Stack is NULL. ");
   else{ printf(" 转换的结果是:");
           i=s.top;
         while( i!=-1)
   {switch(s.a[i])
   {
   case 15:printf("f");break;
            case 14:printf("e");break;
   case 13:printf("d");break;
   case 12:printf("c");break;
   case 11:printf("b");break;
   case 10:printf("a");break;
            default :printf(" %d", s.a[i]);}
   
        i--;
   
   }
   
  printf(" ");
   
       }
   //printf(" 打回车键,继续。"); ch=getchar();
} /* out_c */
/*  进栈函数  */
void push(SqStack *s,ElemType e)
{ if(s->top==MAXSIZE-1)printf("   Sstack is Overflow!");
   else{ s->top++ ;
         s->a[s->top]=e;
       }
}/*  push  */
/*  出栈函数 */
ElemType pop(SqStack *s)
{ ElemType x;
  if(s->top==-1){ printf("   Stack is Underflow!");
                 x=-1; }
else { x=s->a[s->top];
       s->top--; }
   return(x);
} /* pop  */




下面就是提示的错误:
--------------------Configuration: dyd - Win32 Debug--------------------
Compiling...
dyd.cpp
D:C语言MSDev98MyProjectsdyddyd.cpp(40) : error C2018: unknown character '0xa3'
D:C语言MSDev98MyProjectsdyddyd.cpp(40) : error C2018: unknown character '0xbb'
D:C语言MSDev98MyProjectsdyddyd.cpp(41) : error C2146: syntax error : missing ';' before identifier 'i'
执行 cl.exe 时出错.
dyd.obj - 1 error(s), 0 warning(s)
  求大神 解答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
woshiaokeman
1楼-- · 2019-07-15 23:01
itoa
C语言里面有这个函数可以实现你的功能~
Commanding_heig
2楼-- · 2019-07-15 23:25
嗯 谢谢您的回答 刚接触C   但是我还是想找出这个程序的错误  我找了 一天了都 还是不知道错在哪里  还望您指点一二。
fafactx
3楼-- · 2019-07-16 00:01
很简单,就是一个分号你打错了。具体哪个你自己找,估计就是这句话后边的。
Commanding_heig
4楼-- · 2019-07-16 05:12
嗯  搞定了 谢谢你您的回答 3q

一周热门 更多>