C语言 数制转换
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define M 8
int xx[M];
int proc(char *str,int x,int y)
{
//int sum;
int sum = 0;
int i=0;
char *p = str;
for(i=0;i<M;i++)
xx[i]=0;
sum = sum * x + *p - ‘0‘;
//sum = *p - ‘0‘;
p++;
while(*p)
{
sum = sum * x + *p - ‘0‘;
p++;
}
i=0;
while(sum != 0)
{
xx[i] = sum % y;
sum = sum / y;
i++;
}
return i;
}
void main()
{
char str[6];
int i;
int n;
int x;
int y;
printf("Enter a string:\n");
gets(str);
if(strlen(str) > 5)
{
exit(0);
}
for(i=0;str[i];i++)
if(str[i] < ‘0‘ || str[i] > ‘9‘)
{
exit(0);
}
puts(str);
printf("x= ");
scanf("%d",&x);
printf("y= ");
scanf("%d",&y);
n = proc(str,x,y);
//printf("%d",n);
for(i=n-1;i>=0;i--)
printf("%d",xx[i]);
}
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。