参考代码如下:
#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语言程序设计教程(第三版)课后习题11.5 (C语言代码)浏览:1514 |
printf基础练习2 (C语言代码)浏览:941 |
C语言程序设计教程(第三版)课后习题6.10 (C语言代码)浏览:749 |
C语言训练-数字母 (C语言代码)浏览:649 |
淘淘的名单 (C语言代码)浏览:1091 |
C语言程序设计教程(第三版)课后习题3.7 (C语言代码)浏览:326 |
关于C语言变量位置的问题浏览:272 |
P1000 (C语言代码)浏览:868 |
蓝桥杯历届试题-翻硬币 (C++代码)浏览:872 |
钟神赛车 (C语言代码)浏览:590 |