请C++高手帮忙看一下哪里错了~~明天就要交了~谢谢了

2025-09-12 04:46:39
推荐回答(2个)
回答1:

#include
using namespace std;

void number(int);
int prime (int);

int main()
{

int n;
cout<<"Please input decided number:";
cin>>n;

if((n<2) || (n>1000))
{
cout<<"Inputed number not within 2~1000!\n";
}
else
{
int a=prime(n);
if(a==0)
cout<<"the number "< else if(a==1)
{
cout<<"the number"<<" "< number(n);
}
}
return 0;
}

int prime(int n)
{
int flag=0;
int i;
for(i=2;i if(n%i==0)
flag=1;
return (flag);
}

void number(int n)
{
int i;
for(i = 2; i<=n; i++)
if (n%i==0 )
{
n/=i;
if(n==1)
cout< else cout< i--;
}

}
这个程序我试了应该是对的!你试一下.

回答2:

#include
using namespace std;

int number(int);
int prime (int);

int main()
{
int n;
cout<<"Input a number"<cin>>n;
if((n<2) && (n>1000))
{
cout<<" "<}

else //不用再if了,再说你的if也错了,不能那么用的,只能分开写
{
if(prime(n))
cout<<"the number "<
else
{
cout<<"the number"<<" "<int count=number(n);
cout<<"in total "<}
}
return 0;
}

int prime(int n)
{
int flag=1;
int i;
for(i=2;1if(n%i==0)
flag=0;
return (flag);
}

int number(int n)
{
int i;
int count=0;
for(i = 2; i< n; i++)

if (( n%i == 0 ))
{
cout< count++;
}
return count;
}
楼主思路太乱,int number()写错了,你每次都返回n干什么