回覆列表
  • 1 # 學果網教育平臺

    方法一

    #include<stdio.h>

    int main(void)

    {

    int i=0,n,a[32];

    printf("請輸入一個十進位制整數.\n");

    scanf("%d",&n);

    while (n>0)

    {

    a[i]=n%2;

    i=i+1;

    n=n/2;

    }

    printf("十進位制整數轉換為二進位制數是:\n");

    for(i--;i>=0;i--)

    printf("%d",a[i]);

    printf("\n");

    return 0;

    }

    方法二

    #include "stdio.h"

    int main()

    {

    int a,r,i=0,j=1,count[100]; //輸入的是a

    printf("請輸入一個十進位制整數:\n");

    scanf("%d",&a);

    do //迴圈,直到a等於0跳出

    {

    r=a%2; //求每一次的餘數,實際上最後輸出的也是這個

    a=a/2;

    i++;

    count[i]=r;

    }

    while(a!=0);

    printf("十進位制整數轉換為二進位制數是:\n");

    for(j=i;j>0;j--) //這裡是倒序輸出

    printf("%d",count[j]);

    }

  • 2 # 使用者6488643724324

    #include <stdio.h> void main() { //進位制轉換函式的宣告 int transfer(int x); int x; printf("請輸入一個十進位制數:"); scanf("%d",&x); printf("轉換成二進位制數是:%d\n",transfer(x)); } int transfer(int x) { int p=1,y=0,yushu; while(1) { yushu=x%2; x/=2; y+=yushu*p; p*=10; if(x<2) { y+=x*p; break; } } return y; }

  • 中秋節和大豐收的關聯?
  • 為什麼家裡的WIFI時快時慢?