A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© lvguodong 中级黑马   /  2015-10-8 00:19  /  514 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. #include<stdio.h>
  2. void lvGuoDong(int a);
  3. int main()
  4. {
  5.     int a;
  6.     printf("请输入一个正整数后会输出它的二进制形式!\n");
  7.     scanf("%d",&a);
  8.     lvGuoDong(a);
  9.     return 0;
  10. }
  11. void lvGuoDong(int a)
  12. {
  13.     //第一种
  14.     if (a>0) {
  15.         printf("0");
  16.     } else {
  17.         printf("1");
  18.     }
  19.     for (int i=sizeof(int)*8-2,b; i>=0; i--) {
  20.         b=a>>i&1;
  21.         printf("%d",b);
  22.         if (i%8==0) {
  23.             printf("\t");
  24.         }
  25.         
  26.     }
  27.     printf("\n");
  28.     //第二种(实现了但不好看)
  29.     if (a>0) {
  30.         printf("0");
  31.     } else {
  32.         printf("1");
  33.     }
  34.     for (int i=1,b; i<32; i++) {
  35.         b=a>>(31-i)&1;
  36.         printf("%d",b);
  37.         if (i%8==0) {
  38.             printf("\t");
  39.         }
  40.         
  41.     }
  42.     printf("\n");
  43.    
  44.    
  45.    
  46. }
复制代码
这个也可以用三目运算做出来,想一想怎么做?

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马