關於C++程式碼的設計

作業要做出一個幾階的數字

像是我輸入5

就要5*4*3*2*1

輸出120

如果是輸入1和0

得到一

幫我看看我的原始碼哪裡有錯誤

因為每次都會出現數字乘以57

然而我是新手不知道錯在哪><

請幫我看看

還有我輸入1和0竟然什麼都不會出現

我有打會出現1阿

#include <iostream>

using namespace std;

int main()

{ int number,sum;

cout<<"enter a number"<<endl;

cin>> number;

while(number=1,0)

{

cout<<"1"<<endl;

number-100;}

while(number>1)

{

sum*=number;//把數字乘到到總和上

number-=1;//每次都減一

if(number=1)

{cout<<sum<<endl;

}

}

system("pause");

}

1 個解答

評分
  • 1 0 年前
    最佳解答

    以下是我的作法(僅供參考)

    #include<iostream>

    using namespace std;

    main()

    {

    int a,b,i;

    cout<<"請輸入欲求階層之階數";

    cin>>a;

    b=1;

    i=1;

    if(a>0)

    {

    while(i<=a)

    {

    b=b*i;

    i=i+1; 這裡的i是用來記次數的(i會一直+1直到=a)

    }

    cout<<b;

    }

    else

    {

    cout<<1;

    }

    system("PAUSE");

    return 0;

    }

    你的不成功是因為sum沒有給數字

    所以會亂數定位

    並且while(number=1,0)

    會進行無線迴圈或邏輯問題之類的

    以上

    參考資料:
還有問題?馬上發問,尋求解答。