我正在C++中开发一个程序,用于计算给定数字的阶乘。使用for循环计算阶乘&do–while循环以执行用户想要的次数的操作
我用for循环为阶乘写了一段代码,但我不知道如何使用Do while循环来执行代码跟随
int n;
int factorial = 1;
cout << "Enter a positive integer: ";
cin >> n;
for(int i = 1; i <=n; ++i)
{
factorial *= i; // factorial = factorial * i;
}
cout << "Factorial of " << n << " = " << factorial;
请帮帮我。
试试这个:
#include <iostream>
#include <string>
using namespace std;
int main()
{
string answer;
do {
int n;
int factorial = 1;
cout << "Enter a positive integer: ";
cin >> n;
for(int i = 1; i <=n; ++i)
{
factorial *= i; // factorial = factorial * i;
}
cout << "Factorial of " << n << " = " << factorial << endl;
cout << "Would you like to do again? (type 'n' for No, anything for yes)" << endl;
cin >> answer;
cin.clear(); // Clearing the cin buffer
} while (answer != "n");
cout << "Exitting" << endl;
return 0;
}
更新(根据评论中的请求(
#include <iostream>
#include <string>
using namespace std;
int main()
{
int counter=0, amount;
cout << "How many times : ";
cin>> amount;
do {
int n;
int factorial = 1;
cout << "Enter a positive integer: ";
cin >> n;
for(int i = 1; i <=n; ++i)
{
factorial *= i; // factorial = factorial * i;
}
cout << "Factorial of " << n << " = " << factorial << endl;
counter++;
} while (counter < amount);
cout << "Completed" << endl;
return 0;
}
下面是使用do-while循环的逻辑。
int count =0, f=1, times, n;
cout << "Enter how many times : ";
cin>> times
cout << "n Enter number for which you want to calculate factorial : ";
cin>> n
do{
for(var i=1;i<=n;i++){
f *= i;
}
cout<< "Factorial of n is : " << f;
cout << "n Enter next number for which you want to calculate factorial : ";
cin>> n
f = 1;
count++;
}while(count <= times);