C++ C++;:编写一个程序,当-6.5“;输入
任务是编写一个简单的程序,如果输入偶数,它将接受一个整数并计算其阶乘;如果输入奇数,它将检查该数是否为素数。程序重复,直到输入值“-6.5”。我添加了一个条件,使循环在输入该值时停止,但当输入该值(或任何其他十进制数)时,我会得到一个无限重复的输入提示循环。为什么会这样C++ C++;:编写一个程序,当-6.5“;输入,c++,C++,任务是编写一个简单的程序,如果输入偶数,它将接受一个整数并计算其阶乘;如果输入奇数,它将检查该数是否为素数。程序重复,直到输入值“-6.5”。我添加了一个条件,使循环在输入该值时停止,但当输入该值(或任何其他十进制数)时,我会得到一个无限重复的输入提示循环。为什么会这样 #include <iostream> using namespace std; int main () { int num; do { int choice; int fac
#include <iostream>
using namespace std;
int main ()
{
int num;
do
{
int choice;
int factorial=1;
int count=0;
cout<<"Enter a number: \n";
cin>>num;
if (num>1)
{
cout<<"To calculate factorial, enter an even number\n";
cout<<"\nTo check if a number is Prime or not, enter an odd number\n";
cin>>choice;
{
if (choice%2==0)
{
for (int i=num; i>=1; i--)
{
factorial=factorial*i;
}
cout<<endl;
cout<<"The factorial of "<<num <<" equals " <<factorial;
cout<<endl;
}
if (choice%2==1)
{
for (int i=2;i<num;i++)
{
if (num%i==0)
{
++count;
}
}
if (count==0)
{
cout<<endl;
cout<<num <<" is prime.\n ";
}
else if (!(count==0))
{
cout<<endl;
cout<<num <<" is not prime.\n";
}
}
}
}
}
while (!(num==-6.5));
}
#包括
使用名称空间std;
int main()
{
int-num;
做
{
智力选择;
整数阶乘=1;
整数计数=0;
库特南;
如果(num>1)
{
快速浏览一下,所有的数字都是整数,只包含整数,不包含小数
首先,用双精度或浮点值更改小数点所需的任何数字(选择最适合您的应用程序的数字)
查看更改数字后会发生什么。仅供参考,num
是代码中的int
num
是int
,因此即使输入6.5,它也将转换为6,控件num==6.5
将始终返回false
。我将num更改为float,但这导致%opera出现错误tor用于计算数字是否为素数。如果输入6.5,为什么代码必须退出?必须在哪里输入6.5?