m0_52611565
Brynn0718
采纳率100%
2021-03-05 12:29

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

已采纳
#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_learner cpp_learner 1月前

    至少会输出 0 

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

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

    循环次数

    点赞 评论 复制链接分享
  • cxd1314520 岑小岑 1月前

    有输出,只是循环太久。稍微等一会。2032128

    点赞 1 评论 复制链接分享
  • qq_43414873 小白小白你好菜 1月前

    你的循环次数太大了,程序判断很慢,你把数全变成20过一会就出来了,说明你这个题目这样写不提倡

    点赞 1 评论 复制链接分享
  • SoftwareTeacher SoftwareTeacher 1月前

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

    你想到达什么目的? 当条件满足时,你可以直接在最里面的循环输出 i, j, k,n 的值。 就可以看到问题。 

    点赞 1 评论 复制链接分享