【C編程練習】2013華爲校園招聘機試題9月10日題2:計算整數二進制表達式中0的個數 最左邊1前面的0不考慮 void GenZeroNum(int nVal, int& nZeroNum);

//ex7_function5.c

//編寫於2012年9月11日,源作者:曹玲玲

//【實現功能】2013華爲校園招聘機試題9月10日題2:

/*【題目】計算整數二進制表達式中0的個數 最左邊1前面的0不考慮  void GenZeroNum(int nVal, int& nZeroNum); 

*/

#include <stdio.h>

 

void GenZeroNum(int nVal,int* nZeroNum)

{

  int inter,remainder;

  (*nZeroNum)=0;

  inter=nVal/2;

  remainder=nVal%2;

  while(inter)

  {

    if(remainder==0)

      (*nZeroNum)++;

    remainder=inter%2;

    inter=inter/2;

 

  }

}

void GenZeroNum_Main()

{

  int nVal,nZeroNum,temp1;

  printf("請輸入一個整數:");

  temp1=scanf("%d",&nVal);

  while (temp1==1)

  {

    GenZeroNum(nVal,&nZeroNum);

    printf("整數%d轉換成二進制中0的個數爲%d\n",nVal,nZeroNum);

 

    printf("\n\n請輸入下一整數。輸入其他字符結束輸入!\n");

    temp1=scanf("%d",&nVal);

  }

}

運行結果

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章