每个复合语句怎么连接啊

编程计算并输出 100~999 之间的所有素数(每个数占 6 位宽度),最后并
输出素数的个数(单独占一行)。 编程要求如下:
①定义符号常量:N=999;
②定义复合语句 1:外循环 for(;exp1;)控制项数值(100~999),exp1 用到逻辑运算的
特殊规则,形如 a&&b;内循环 while(exp2)实现计算各数是否素数,是素数时则输出该素数,
并统计素数的个数;每行输出 10 个素数(用 if 语句控制),每个数占 6 列宽,最后换行输出
素数个数。
③定义复合语句 2:外循环 for(;;)控制项数值(100~999),循环条件省略;内循环
while(exp1)实现计算各数是否素数,是素数时则输出该素数,并统计素数的个数;每行输出
10 个素数(用 if 语句控制),每个数占 6 列宽,最后换行输出素数的个数。
④定义复合语句 3:外循环 for(;exp;)控制项数值(100~999),exp 用到逻辑运算的特殊
规则,形如 a&&b;内循环 for(;;),循环条件省略,内循环实现计算各数是否素数,是素数时
则输出该素数,并统计素数的个数;每行输出 10 个素数(用 if 语句控制),每个数占 6 列宽。
最后换行输出素数的个数。


#include<stdio.h>
#include<math.h>
int main(){
    int i,j,n,s;
    for(i=100;i<=999;i++){
        for(j=2;j<=sqrt(i);j++)
            if(i%j==0) break;
            if(j>sqrt(i)){
                printf("%d ",i);
                n++;s++;
            }
    }printf("\n");
    printf("\n100~999之间的素数个数为%d",s);
    return 0;
}

两个方式你参考一下
1.使用外层for循环和内层while循环实现

using System;

namespace PrimeNumber
{
    class Program
    {
        static void Main(string[] args)
        {
            const int N = 999; // 符号常量N的值为999
            int count = 0; // 统计素数的个数
            for (int i = 100; i <= N; i++)
            {
                int j = 2;
                while (i % j != 0 && j <= i / 2)
                {
                    j++;
                }
                if (j > i / 2)
                {
                    Console.Write("{0,6}", i); // 输出素数,每个数占6列宽
                    count++;
                    if (count % 10 == 0)
                    {
                        Console.WriteLine(); // 每行输出10个素数
                    }
                }
            }
            Console.WriteLine("\n素数的个数为:" + count); // 换行输出素数的个数
            Console.ReadKey();
        }
    }
}


2.使用外层for循环和内层while循环实现,循环条件省略

using System;

namespace PrimeNumber
{
    class Program
    {
        static void Main(string[] args)
        {
            const int N = 999; // 符号常量N的值为999
            int count = 0; // 统计素数的个数
            for (int i = 100; ; i++)
            {
                if (i > N)
                {
                    break;
                }
                int j = 2;
                while (i % j != 0 && j <= i / 2)
                {
                    j++;
                }
                if (j > i / 2)
                {
                    Console.Write("{0,6}", i); // 输出素数,每个数占6列宽
                    count++;
                    if (count % 10 == 0)
                    {
                        Console.WriteLine(); // 每行输出10个素数
                    }
                }
            }
            Console.WriteLine("\n素数的个数为:" + count); // 换行输出素数的个数
            Console.ReadKey();
        }
    }
}