参考代码如下:
#include <stdio.h> #include <string.h> #include <stdlib.h> //处理数据并输出 void process(int num) { if (num == 0) //若num == 0,直接输出结果并退出 { printf("0\n"); return; } int bits[32]; //存放num对应的二进制数的每位数字 int bitsindex = 0; int flag = 0; //定义一个标志位,输出时可以判断是否为负数 if (num < 0) { flag = 1; num = -num; } while (num != 0) { bits[bitsindex++] = num % 2; num = num / 2; } if (flag == 1) //若是负数,先打印一个“-” printf("-"); int i; for (i = bitsindex - 1; i >= 0; i--) //倒序打印数组,即就是num的二进制表示 { printf("%d", bits[i]); } printf("\n"); } int main(void) { int input[50]; //存放输入数据的数组 int index = 0; int num; while (scanf("%d", &num) != EOF) { input[index++] = num; } int i; for (i = 0; i < index; i++) { printf("%d-->", input[i]); process(input[i]); } return 0; }
0.0分
2 人评分
C语言程序设计教程(第三版)课后习题7.3 (C语言代码)浏览:624 |
C语言程序设计教程(第三版)课后习题5.4 (C语言代码)浏览:1293 |
C语言程序设计教程(第三版)课后习题1.6 (C语言代码)浏览:703 |
C语言程序设计教程(第三版)课后习题9.8 (C语言代码)浏览:676 |
C语言程序设计教程(第三版)课后习题3.7 (C语言代码)浏览:549 |
C语言程序设计教程(第三版)课后习题6.2 (C语言代码)浏览:541 |
演讲大赛评分 (C语言代码)浏览:1638 |
C语言训练-亲密数 (C语言描述,反正怎么都能对)浏览:2169 |
C二级辅导-阶乘数列 (C语言代码)浏览:521 |
DNA (C语言代码)浏览:741 |