C++使用while for do...while分别计算一个数字的阶乘

C++使用while for do...while分别计算一个数字的阶乘
要求编写三个程序,用三种循环分别实现

while:

#include<iostream>
using namespace std;
int main()
{
    unsigned long long result=1,n;
    cin>>n;
    while(n)result*=n--;
    cout<<result<<endl;
    return 0;
}

for:

#include<iostream>
using namespace std;
int main()
{
    unsigned long long result,n;
    for(result=1,cin>>n;n;--n)result*=n;
    cout<<result<<endl;
    return 0;
}

do...while:

 #include<iostream>
using namespace std;
int main()
{
    unsigned long long result=1,n;
    cin>>n;
    if(n)
        do
        {
            result*=n;
        }while(--n);
    cout<<result<<endl;
    return 0;
}