输出素数问题一直错误,如何解决?(语言-c++)

输出连续素数:
题目描述
编写程序,将大于整数m且紧靠m的k个素数输出(k小于10)。

关于输入
输入为一行,包括两个整数,第一个为整数m,第二个为个数k

关于输出
输出为一行,即满足条件的k个素数

为啥输出不了

#include 
#include 
using namespace std;

int main() {
    int m,k,c=0,b;
    cin>>m>>k;
b=(int)sqrt(m);   //若m不是素数,则m必含比其平方数小的因子
while(cbool su=1;
    for(int i=0;i//判断是否是素数
    {
        if(m%i==0)
        {
            su=0;
            break;
        }
    }
    if(su)
    {
        if(su)
        {
            if(c==1)cout<else cout<<" "<return 0;
}


你这代码问题多了
1.i不能等于0,除以0会报错,1也不对,任何数除以1都能除尽,i要从2开始啊
2.b算的太早了,应该放到循环里面来算,是紧靠m的连续k个素数,那你要对m+k开方而不是对m开方
举个例子,从8开始,连续输出3个素数,你如果只试到根号8就结束了,就会认为9是素数,那能对才怪
3.为什么if(su)里面还要再嵌套个if(su),这是啥写法
4.endl是换行符啊,人家要求你输出一行,删掉

12行i不能从0开始啊。m%i会异常