为了账号安全,请及时绑定邮箱和手机立即绑定

以下的程序怎么不能得出结果呢?就是求1234所组成的没有重复的数有多少个。何解?

以下的程序怎么不能得出结果呢?就是求1234所组成的没有重复的数有多少个。何解?

哔哔one 2022-06-01 15:11:36
#include "iostream.h"void main(){int s=0;for(int i=1;i<5;i++)for(int j=1;i<5;j++)for(int k=1;i<5;k++)for(int l=1;i<5;l++)if(i==j==k==l);else s++;cout<<s<<endl;}
查看完整描述

2 回答

?
慕神8447489

TA贡献1780条经验 获得超1个赞

#include<stdio.h>
#include<iostream.h>

void main()
{
int s=0,i,j,k,l;
for(i=1;i<5;i++)
{
if(i>=5) break;
for(j=1;i<5;j++)
{
if(j>=5) break;
if(i==j) continue;
for(k=1;i<5;k++)
{
if(i==k || j==k) continue;
if(k>=5) break;
for(l=1;i<5;l++)
{
if(l>=5) break;

if(i==l || j==l ||k==l) continue;
else s++;
}
}
}
}
cout<<s;
}
------------
你的程序里,
for(int i=1;i<5;i++)
for(int j=1;i<5;j++)
for(int k=1;i<5;k++)
for(int l=1;i<5;l++)
if(i==j==k==l) ;
else s++;
没有足够的返回条件

查看完整回答
反对 回复 2022-06-06
?
千万里不及你

TA贡献1784条经验 获得超9个赞

你的问题很简单,比较条件设置错误导致死循环……
是Ctrl+C/V用多了吧,呵呵~
应该为

for(int i=1;i<5;i++)
for(int j=1; j <5;j++)
for(int k=1; k <5;k++)
for(int l=1; l <5;l++)
if(i==j==k==l)

查看完整回答
反对 回复 2022-06-06
  • 2 回答
  • 0 关注
  • 185 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号