c语言编写10进制转n进制的程序,C语言求助 将十进制数据转换为你n进制数据 并输出...

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

时间:10-02

整理:3721RD

点击:

#include

#include

#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("\n\n     1. 请输入一个十进制数据");

scanf("%d",&k);

printf("\n\n     2. 输入需要转换的进制数据");

scanf("%d",&n);if(n==0) break;

k%=n;

push(&s1,k);

}while(k!=0);

// printf("\n               再见!");

//     printf("\n        打回车键,返回。"); 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("\n Stack is NULL. ");

else{ printf("\n\n转换的结果是:");

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("\n");

}

//printf("\n 打回车键,继续。"); ch=getchar();

} /* out_c */

/*  进栈函数  */

void push(SqStack *s,ElemType e)

{ if(s->top==MAXSIZE-1)printf("\n  Sstack is Overflow!");

else{ s->top++ ;

s->a[s->top]=e;

}

}/*  push  */

/*  出栈函数 */

ElemType pop(SqStack *s)

{ ElemType x;

if(s->top==-1){ printf("\n  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语言\MSDev98\MyProjects\dyd\dyd.cpp(40) : error C2018: unknown character '0xa3'

D:\C语言\MSDev98\MyProjects\dyd\dyd.cpp(40) : error C2018: unknown character '0xbb'

D:\C语言\MSDev98\MyProjects\dyd\dyd.cpp(41) : error C2146: syntax error : missing ';' before identifier 'i'

执行 cl.exe 时出错.

dyd.obj - 1 error(s), 0 warning(s)

求大神 解答

itoa

C语言里面有这个函数可以实现你的功能~

嗯 谢谢您的回答 刚接触C   但是我还是想找出这个程序的错误  我找了 一天了都 还是不知道错在哪里  还望您指点一二。

很简单,就是一个分号你打错了。具体哪个你自己找,估计就是这句话后边的。

嗯  搞定了 谢谢你您的回答 3q

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值