求大神,c语言怎么用for循环语句输出1到100的所有质数,我这么做结果出来的是2到100的所有数

求大神,c语言怎么用for循环语句输出1到100的所有质数,我这么做结果出来的是2到100的所有数,哪里做错了吗

第1个回答  2016-04-24
for(a=2;a<=100;a++)
{
    for(i=2,t=0;i<a;i++)
    {
        if(a%i==0)
        {
            t=1;
            break;
        }
    }
    if(t==0)
    {
        cout<<a<<" ";
    }
}

追问

那里不是t++吗

追答

t++的意义何在,已经确认该数不是质数了,为什么还要循环

追问

老师说那相当于一个计数器,之前也是这么算的

那我之前那个哪里错了吗心好累

追答

我知道是计数,记录的是数a的除了1和a以外的因子,可是这个的意义何在?程序只要判断到存在非1和a的因子就可以确认数a不是质数,为什么还要继续运算,纯粹是在浪费资源
仔细看区别,if(t==0)后无分号,而且t也没有初始化

追问

😭😭😭我听不懂……算了,我太笨了

本回答被提问者采纳
第2个回答  2018-11-03
吧i的初始值改为1
第3个回答  2016-04-24
for(a=2;a<=100;a++)
{
    for(i=2,t=0;i<a;i++)
    {
        if(a%i==0)
        {
            t=1;
            break;
        }
    }
    if(t==0)
    {
        cout<<a<<" ";
    }
}

追问

那里不是t++吗

追答

t++的意义何在,已经确认该数不是质数了,为什么还要循环

追问

老师说那相当于一个计数器,之前也是这么算的

那我之前那个哪里错了吗心好累

追答

我知道是计数,记录的是数a的除了1和a以外的因子,可是这个的意义何在?程序只要判断到存在非1和a的因子就可以确认数a不是质数,为什么还要继续运算,纯粹是在浪费资源
仔细看区别,if(t==0)后无分号,而且t也没有初始化

追问

😭😭😭我听不懂……算了,我太笨了

本回答被提问者采纳
第4个回答  2018-11-03
吧i的初始值改为1
相似回答