这可能是一个完全新手的问题,但我还没有找到适合自己的答案。
目前,我正在为一个课程编写程序,该程序接受用户输入(可以是一个或多个由空格分隔的数字),然后确定该数字是素数、完全数还是既非素数也非完全数。如果该数字是完全数,则会显示其除数。
到目前为止,我已经编写了判断素数、完全数和列出除数的代码。我卡在了程序的输入部分。我不知道如何使由空格分隔的输入逐个通过我的循环。
这是我的当前程序:
cout<<"Enter a number, or numbers separated by a space, between 1 and 1000."<<endl;
cin>>num;
while (divisor<=num)
if(num%divisor==0)
{
cout<<divisor<<endl;
total=total+divisor;
divisor++;
}
else divisor++;
if(total==num*2)
cout<<"The number you entered is perfect!"<<endl;
else cout<<"The number you entered is not perfect!"<<endl;
if(num==2||num==3||num==5||num==7)
cout<<"The number you entered is prime!"<<endl;
else if(num%2==0||num%3==0||num%5==0||num%7==0)
cout<<"The number you entered is not prime!"<<endl;
else cout<<"The number you entered is prime!"<<endl;
return 0;
它可以工作,但只适用于单个数字。如果有人能帮我使其能够读取由空格分隔的多个输入,那将不胜感激。另外,顺便说一下,我不知道会输入多少数字,所以我不能为每个数字都设置一个变量。它将是随机数量的数字。谢谢!