黑马程序员技术交流社区

标题: 谁给解释下这个问题没看明白 [打印本页]

作者: 新手小渣渣    时间: 2015-4-3 09:30
标题: 谁给解释下这个问题没看明白
本帖最后由 新手小渣渣 于 2015-4-11 11:59 编辑

//有四个数字1、2、3、4,能组成多少个互不相同且无重复数字的3位数?并打印出这些三位数。
#include<stdio.h>
int main ()
{
int i,j,k,t=0
for(i=1;i<5;i++)
for(j=1;j<5;j++)
for(k=1;k<5;K++)
if((i!=k)&&(i!=j)&&(j!=k))
{
t++;
if(t%10==0)                      这句开始红色的代码是什么意思啊看不懂了!!!!
printf("%d%d%d\n",i,j,k);    //这句话不是说t取摸之后等于0的表达式值为真才会运行这句话吗?可是if(t%10==0) 总是假的啊!!!这句还有意义吗?
else
printf("%d%d%d",i,j,k);
}
printf("t=%d\n" ,t)
}

作者: 魔主    时间: 2015-4-3 09:51
#include<stdio.h>
int main ()
{
int i,j,k,t=0;    //楼主少了分号
for(i=1;i<5;i++)
for(j=1;j<5;j++)
for(k=1;k<5;k++)      //楼主k大写了
{
if((i!=k)&&(i!=j)&&(j!=k))
{
printf("%d%d%d\n",i,j,k);   
}
}
}

作者: 新手小渣渣    时间: 2015-4-3 09:52
有木有懂的....
作者: 魔主    时间: 2015-4-3 09:54
VC++  运行结果
红色部分也觉得没必要

QQ截图20150403095203.png (5.26 KB, 下载次数: 32)

QQ截图20150403095203.png

作者: 新手小渣渣    时间: 2015-4-3 09:57
魔主 发表于 2015-4-3 09:51
#include
int main ()
{

呃呃呃 这些问题可以不要在意吧!!!只求红色部分代码的意思....
作者: 新手小渣渣    时间: 2015-4-3 09:58
魔主 发表于 2015-4-3 09:54
VC++  运行结果
红色部分也觉得没必要

在课本上看的...看不明白了,就来这里问问!!
作者: 魔主    时间: 2015-4-3 10:04
新手小渣渣 发表于 2015-4-3 09:57
呃呃呃 这些问题可以不要在意吧!!!只求红色部分代码的意思....

t++取不重复的个数,如果个数是10的倍数就打印不重复的数字
否则就打印个数不是10倍数时不重复的数字
最后打印不重复的个数
不知道理解对不,我也是菜鸟
作者: 新手小渣渣    时间: 2015-4-3 10:10
魔主 发表于 2015-4-3 10:04
t++取不重复的个数,如果个数是10的倍数就打印不重复的数字
否则就打印个数不是10倍数时不重复的数字
最 ...

之前的 i , j , k ,的取值范围不是已经确定了吗?没有可以被10整除的数字啊..还写这一句干啥用啊?
作者: 魔主    时间: 2015-4-3 10:27
新手小渣渣 发表于 2015-4-3 10:10
之前的 i , j , k ,的取值范围不是已经确定了吗?没有可以被10整除的数字啊..还写这一句干啥用啊? ...

书上可能写错了
要有怀疑精神,尽信书不如无书
作者: bigpig    时间: 2015-4-3 10:28
楼主 t是个数  当t为10的时候执行printf("%d%d%d\n",i,j,k);   也就是换行打印三位数的意思吧  否则执行printf("%d%d%d",i,j,k); 打印是没有换行的  楼主你觉得呢?你是从哪里获得代码啊
作者: bigpig    时间: 2015-4-3 10:34
bigpig 发表于 2015-4-3 10:28
楼主 t是个数  当t为10的时候执行printf("%d%d%d\n",i,j,k);   也就是换行打印三位数的意思吧  否则执行pri ...

当然如果楼主你没打错printf("%d%d%d",i,j,k);这句代码的话,这段标红的代码应该就是打印10个数不同三位数   换行  的意思,最后打印出t的个数
作者: 新手小渣渣    时间: 2015-4-3 11:12
bigpig 发表于 2015-4-3 10:28
楼主 t是个数  当t为10的时候执行printf("%d%d%d\n",i,j,k);   也就是换行打印三位数的意思吧  否则执行pri ...

明白了....谢谢啊!!!
作者: 新手小渣渣    时间: 2015-4-3 11:13
bigpig 发表于 2015-4-3 10:34
当然如果楼主你没打错printf("%d%d%d",i,j,k);这句代码的话,这段标红的代码应该就是打印10个数不同三位 ...

原来如此 明白了,知道什么意思了!谢谢:loveliness:




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2