单片机/MCU论坛
登录
直播中
Commanding_heig
11年用户
33经验值
擅长:模拟技术
私信
关注
[问答]
C语言求助 将十进制数据转换为你n进制数据 并输出
开启该帖子的消息推送
十进制
C语言
#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("nn 1. 请输入一个十进制数据");
scanf("%d",&k);
printf("nn 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("nn转换的结果是:");
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 */
下面就是提示的错误:
--------------------Configura
ti
on: 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
2013-10-15 12:25:20
itoa
C语言里面有这个函数可以实现你的功能~
itoa
C语言里面有这个函数可以实现你的功能~
举报
Commanding_heig
2013-10-15 16:14:20
嗯 谢谢您的回答 刚接触C 但是我还是想找出这个程序的错误 我找了 一天了都 还是不知道错在哪里 还望您指点一二。
嗯 谢谢您的回答 刚接触C 但是我还是想找出这个程序的错误 我找了 一天了都 还是不知道错在哪里 还望您指点一二。
举报
李国法
2013-10-16 14:26:37
很简单,就是一个分号你打错了。具体哪个你自己找,估计就是这句话后边的。
很简单,就是一个分号你打错了。具体哪个你自己找,估计就是这句话后边的。
举报
Commanding_heig
2013-10-16 18:09:14
嗯 搞定了 谢谢你您的回答 3q
嗯 搞定了 谢谢你您的回答 3q
举报
更多回帖
rotate(-90deg);
回复
相关问答
十进制
C语言
二
进制
/八
进制
/十六
进制
/
十进制
之间的
转换
2020-12-28
3415
如何
将
算得的
数据
(10
进制
)
转换为
16
进制
通过串口发送出?
2013-01-30
16009
labview中如何
将
一个3字节的十六
进制
数
转换为
十进制
2015-07-22
6702
pcf8591的缓存器里边的
数据
如何
转换为
十进制
?
2023-11-01
203
c
语言
的二
进制
是如何转为
十进制
的?
2021-07-15
1604
labview中如何
将
一个
十进制
的数
转换
相同的BCD码?是用公式节点来写程序的...有大神会吗? 求指导!!
2016-06-27
8963
请问怎么
将
IEEE 754(32位十六
进制
)
转换为
十进制
浮点数?
2019-09-04
7365
LABVIEW怎么把U32的
十进制
数值
转换为
二
进制
2017-03-22
14957
怎么
将
十进制
数据
存储到bram中?
2020-05-11
1067
labview 串口通信收到的
数据
用十六
进制
字符串显示后如何
转换
成
十进制
数值显示??
2015-10-28
16857
发帖
登录/注册
20万+
工程师都在用,
免费
PCB检查工具
无需安装、支持浏览器和手机在线查看、实时共享
查看
点击登录
登录更多精彩功能!
首页
论坛版块
小组
免费开发板试用
ebook
直播
搜索
登录
×
20
完善资料,
赚取积分