RT
C语言用指针函数怎么实现十进制转,十六进制,八进制,二进制
自己写的一段,但出错!
望指导!
本人新手!
#include<stdio.h>
#include<string.h>
void trans_to_hex(char *p, int m)
{
int r;
for(;m!=0;p++)
{
r=m%16;
if(r<10)
*p=r+48;
else *p=r+55;
m=m/16;
}
*p='\0';
}
void trans_to_octal(char *p, int m)
{
int r;
for(;m!=0;p++)
{
r=m%8;
*p=r+48;
m=m/8;
}
*p='\0';
}
void trans_to_binary(char *p, int m)
{
int r;
for(;m!=0;p++)
{
r=m%2;
*p=r+48;
m=m/2;
}
*p='\0';
}
void main()
{
int i, n;
char a[5];
printf("请输入一个十进制整数(位数不超过5位): ");
scanf("%d",&n);
trans_to_hex(a,n);
for(i=strlen(a)-1;i>=0;i++)
putchar(a[i]);
trans_to_octal(a,n);
for(i=strlen(a)-1;i>=0;i++)
putchar(a[i]);
trans_to_binary(a,n);
for(i=strlen(a)-1;i>=0;i++)
putchar(a[i]);
}
求助!C语言用指针函数实现十进制转,十六进制,八进制,二进制
int yushu[MAX];int top;}SqStack;SqStack *s;int n,jinzhi,m;void transform();void output(SqStack *s);int main(){ printf("计算机0904 16号 林夏飞\\n***\\n");s=(SqStack*)malloc(sizeof(SqStack));s->top = -1;printf("输入要转换的十进制数和要转成的进制: ");scanf("...
C语言中关于八进制和十进制转换问题
while(*(++p)!='\\0')n=n*8+*p-'0';\/\/修改这里,p是指针要用指针里的内容跟'\\0'做比较 printf("%d \\n",n);}
用C语言把十进制转换为8进制,最好用栈结构
} int main(){int x;scanf("%d",&x); \/\/读入要转换的十进制数x dec2oct(x); \/\/将 x 转换为8进制数输出 return 0;}
C语言 用数组将十进制数转换成八进制数,不用函数和指针,输出的八进制...
include <stdio.h>int main(){ int a[50]; int n,i=0; scanf("%d",&n); while(n) { a[i++] = n%8; n\/=8; } while(--i>=0) { printf("%d ", a[i]); } return 0;} ...
C++中十进制如何转换为八进制和十六进制
1、十进制转换成八进制有两种方法:(1)间接法:先将十进制转换成二进制,然后将二进制又转换成八进制。(2)直接法:八进制是由二进制衍生而来的,因此可以采用与十进制转换为二进制相类似的方法,还是整数部分的转换和小数部分的转换,下面来具体讲解一下:①整数部分 方法:除8取余法,即每次将...
用C语言直接输出内存中数据(二进制或十六进制)
内存中的数据显然是以二进制形式存放的。C语言用格式符控制输出内容的进制及格式,例如%d是十进制格式,%o是八进制格式,%x是十六进制格式,但唯独没有二进制的输入输出格式符。因此也就无法将内存单元中的二进制代码原样输出出来。p格式符用来输出变量在内存中的地址是个十六进制数。想用%p输出变量i的...
c语言用栈实现八进制转十进制,完整程序,求解
这个链栈应该就是一个用链表弄的后进先出的栈结构。top指针永远指向栈的最上面的那个节点。这个函数是新加一个节点到这个栈中,首先分配了空间给s,s是要新加入这个栈的那个节点。s->next=top;就是让s指向栈的最上面的那个元素。top=s;因为现在最上面的节点是s了,所以让top指向s,使s成为栈顶...
C语言里itoa函数的功能是什么?
在C语言中,itoa函数扮演着至关重要的角色,它负责将整数数据转换为字符型字符串形式。其基本用法如下:itoa(i, num, 10);这里的是需要进行转换的整数,则是存储转换结果的字符数组变量,而表示转换的基数,即进制,常见的如十进制(10)、二进制(2)、八进制(8)和十六进制(16)。函数执行后,...
...将字符型的数字转换为十进制或八进制或十六进制的数???反过来呢...
C语言有转换说明符 转换说明符 a(%A)浮点数、十六进制数字和p-(P-)记数法(C99)c 字符 d 有符号十进制整数 f 浮点数(包括float和doulbe)e(%E)浮点数指数输出[e-(E-)记数法]g(%G)浮点数不显无意义的零"0"i 有符号十进制整数(与%d相同)u 无符号十进制整数 o 八进制整数 e.g.0123 x...
C语言如何定义一个16进制数
int main(){ int a;scanf("%p",&a);\/\/16进制数输入%p是输入一个十六进制的数scanf("%llx",&a);也可以输入十六进制并且比较正规 printf("%d",a);\/\/十进制输出%d是输出一个十进制的数 printf("0x%x",a);\/\/16进制输出printf("%llX\\n",a);也可输出一个十六进制数如果红色部分大写X则输出...