Brynn0718 2021-03-05 12:29 采纳率: 75%
浏览 33
已采纳

有疑问,为什么我写的这个代码没有输出东西???

#include<stdio.h>
int main()
{
	int i,j,k,n=0;
	for(i=1;i<2019;i++)
	{
		for(j=1;j<2019;j++)
		{
			for(k=1;k<2019;k++)
			{
				if((i<2019)&&(j<2019)&&(k<2019)&&(i!=j)&&(i!=k)&&(j!=k)&&(i+j+k==2019))
				{
					n++;	
				}
			}
		}
	}
	printf("%d",n);
	return 0;
} 
  • 写回答

4条回答 默认 最新

  • cpp_learners 2021-03-05 13:16
    关注

    至少会输出 0 

    if((i<2019)&&(j<2019)&&(k<2019)&&(i!=j)&&(i!=k)&&(j!=k)&&(i+j+k==2019))

    当满足你写的这个条件,n才会自增(n++),变成其他数字,最后就输出n的结果;如果全部循环都不满足,那么他至少会输出0;或者说,循环次数过多,cpu还在运算当中,等会就会有输出结果了!另外,帮你计算过了,该程序需要循环八十多亿次,肯定会有些耗时。

    循环次数

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?