另外定义了一个数组array[8],用于存放输入的八位二进制数。
2、然后使用了一个for循环语薯耐句,用于输入八位二进制数。
3、在Sum函数中,又声明了一个power函数,power函数的作用是求2的n次方。
4、接着,使用了一个for循环语句,i用于控制循环的次数,n从最高的指数7开始每次循环减一,如果指数数伍春大于或等于零的,就进行循环。
5、在power函数中,如果b等于零,即指数为零,则返回1,否则就进入一个循环,j用于控制循环次数,有疑问的可以用笔算算乘2的个数对不对,最橘烂后将i返回。
6、最后看一下运行的结果。
#include <stdio.h>void transfer(int A[], int *c, int n, int b)
{
int i = 0
while(n>0)
{
A[i++] = n % b
n /= b
}
*c = i
}
int main()
{
int 行烂a[32],c,n,b
printf("输入整数和要转换为的进制:")
scanf("%d %d",&n,&b)
if( n<0 || 枣郑b>9 || b< 2)
{
printf("数档岩漏据非法。")
return 0
}
transfer(a,&c,n,b)
printf("结果为:")
while(--c >= 0)
{
printf("%d",a[c])
}
return 0
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)