|
发表于 2012-10-5 14:41:33
|
显示全部楼层
- #include <stdio.h>
- int main()
- {
- int num, i;
- int bit[10] = {0};
- printf("\n请输入一个十进制数: ");
- scanf("%d", &num);
- for(i = 0; num > 0; ++i)
- {
- bit[i] = num % 2; //这里是bit[i],不是bit.
- num = num / 2;
- }
- //i--;
- printf("\n转换为二进制是: \n");
- for(i = 9; i >= 0; --i) //把i=10改成i = 9,因为数组的最大下标为9,
- //或者可以把i = 9去掉,这样输出后格式更加美观一些,这时候要在for循环之前加一个i--;
- { //因为之前i多加了一次,减1之后i代表二进制的最高位的下标值。
- printf("%d ", bit[i]); //这里也是bit[i],不是bit;
- }
- printf("\n");
-
- return 0;
- }
复制代码 另外这个数组的大小定义100一般足够了,不嫌麻烦的话还可以动态分配,不知道你学到这没有。 |
|