使用do–while循环可以根据用户的需要多次执行操作



我正在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);

最新更新