注册 登录
编程论坛 C++教室

判别素数问题

在路上009 发布于 2013-11-03 11:09, 382 次点击
//写一个判别素数的函数,在主函数中输入一个整数,输出是否为素数的信息。
#include <iostream>
#include <cmath>
using namespace std;
int f(int a)
{   int i;
    for(i=2;i<sqrt(a);i++)<A;I++)
      
        if(a%i==0)           
        {cout<<"该数不是素数"<<endl;<ENDL;
 break;
        }
    if(i==a)
       cout<<"该数是素数"<<endl;
<ENDL;
}
int main()
{
    int a;
    do{
      cout<<"请输入一个大于1的整数:";
      cin>>a;} while(a<=1);
    cout<<f(a)<<endl;
    <F(A)<<ENDL;
system("pause");
    return 0;
}

测试结果:

只有本站会员才能查看附件,请 登录
只有本站会员才能查看附件,请 登录

问题:为什么会出现红色框框里的数字,每次写类似需要调用函数的时候都会出现这个问题,尝试过多种解决办法都无济于事,求指教。
3 回复
#2
xiaodu0002013-11-03 14:45
#3
Susurrant2013-11-03 18:21
以下是引用在路上009在2013-11-3 11:09:56的发言:

//写一个判别素数的函数,在主函数中输入一个整数,输出是否为素数的信息。
#include <iostream>
#include <cmath>
using namespace std;
int f(int a)
{   int i;
    for(i=2;i<sqrt(a);i++)<A;I++)
      
        if(a%i==0)           
        {cout<<"该数不是素数"<<endl;<ENDL;
 break;
        }
    if(i==a)
       cout<<"该数是素数"<<endl;
<ENDL;
}
int main()
{
    int a;
    do{
      cout<<"请输入一个大于1的整数:";
      cin>>a;} while(a<=1);
    cout<<f(a)<<endl;
    <F(A)<<ENDL;
system("pause");
    return 0;
}

测试结果:


问题:为什么会出现红色框框里的数字,每次写类似需要调用函数的时候都会出现这个问题,尝试过多种解决办法都无济于事,求指教。

1、
for(i=2;i<sqrt(a);i++)<A;I++)
{cout<<"该数不是素数"<<endl;<ENDL;
<ENDL;
<F(A)<<ENDL;
代码里这些是什么?

2、
int f(int a)
到底要不要返回值?

3、
cout<<f(a)<<endl;
这个输出是输出什么?

5、
for(i=2;i<sqrt(a);i++)<A;I++)
......
if(i==a)
       cout<<"该数是素数"<<endl;
i可能等于a吗?

[ 本帖最后由 Susurrant 于 2013-11-3 18:25 编辑 ]
#4
a1902054602013-11-05 15:15
....
1