星殇晓渊 2021-03-28 10:29 采纳率: 0%
浏览 146

c语言 为啥中间会出现一大片空白啊

int main()	//输出一到一百之间的质数
{
    int i,j,sum;
	sum = 0;
	for ( i = 2; i < 101; i++)	//1和0非质数,质数是只能被1和自身整除的数
	{
		for ( j = 2; j <= i/2; j++)	//采一半来减少运算量,数无法被超过数本身的一半的数整除
		{
			if (i%j==0)
			break;	//不是质数跳出循环	
		}

		if (j > i/2 )
		{
			cout << i << "\t"; sum++;
		}

		if (sum % 5 == 0)	//五个质数一行
		{
			cout << "\n";
		}
		
	}
	return 0;
}

 

 

  • 写回答

2条回答 默认 最新

  • 小亮点科技 2021-03-28 10:47
    关注

    if (sum % 5 == 0) //五个质数一行

     

    {

     

    cout << "\n";

     

    }

    空行是跟这句有关系的。当sum是5的倍数,因为只有现质数sum才会加1,  所以在48,49,50,51,52连续的几个合数sum%5==0一至成立,会导致连续输出空行。

    希望有对你有帮助,方便的话请关注下我的博客,我会持续发技术文章,觉得写得还行时欢迎点赞。

    评论

报告相同问题?

悬赏问题

  • ¥15 求daily translation(DT)偏差订正方法的代码
  • ¥15 js调用html页面需要隐藏某个按钮
  • ¥15 ads仿真结果在圆图上是怎么读数的
  • ¥20 Cotex M3的调试和程序执行方式是什么样的?
  • ¥20 java项目连接sqlserver时报ssl相关错误
  • ¥15 一道python难题3
  • ¥15 牛顿斯科特系数表表示
  • ¥15 arduino 步进电机
  • ¥20 程序进入HardFault_Handler
  • ¥15 关于#python#的问题:自动化测试