C语言,输入4个整数,十进制转换为二进制,要求用while循环和数组,跪求大神指导。

如题所述

第1个回答  2018-12-13

代码如下:

#include <stdio.h>

int int2bin(unsigned int val, int bin[], int *n)
{
int i = 0, temp;

*n = 0;

while (val != 0) {
bin[(*n)++] = val % 2;
val /= 2;
}

// 翻转
while (i < *n / 2) {

temp = bin[i];
bin[i] = bin[*n - 1 - i];
bin[*n - 1 - i] = temp;

i++;
}

return *n;
}

int main()
{
int i, j, val, bin[100], n = 0;

for (i = 0; i < 4; i++) {

scanf("%d", &val);

// 转换为二进制到数组bin中
int2bin(val, bin, &n);

// 输出
printf("%d = ", val);
for (j = 0; j < n; j++) {
printf("%d", bin[j]);
}
printf("b\n");
}

return 0;
}

运行结果:

本回答被网友采纳

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网