持续更新!!!
1.刷题链接和地址:
https://www.runoob.com/cprogramming/c-tutorial.html
菜鸟教程C语言专栏这里的"C经典100例"(看红色框框)
2.第一题解题
由上图读题可知,没有输入,要求将1、2、3、4这四个数字组成不重复的三位数字,例如:123、124、134、132等。。。。。
#include<stdio.h>
int main()
{
int i,j,k;
printf("\n");
for(i=1;i<5;i++) // 以下为三重循环
{
for(j=1;j<5;j++)
{
for (k=1;k<5;k++) // 确保i、j、k三位互不相同
{
if (i!=k&&i!=j&&j!=k)
{
printf("%d,%d,%d\n",i,j,k);
}
}
}
}
}
如上图,我们定义了三个int类型变量i、j、k,然后,这里使用了三个for循环;
我们先看最里面包着的那个for循环,里面for循环执行了4次,k分别为1、2、3、4,与此同时,外面两层for循环仅执行了一次(因为进入到最里面的for必须先进入外面的for),因此i=1,j=1,最里面的if判断条件不被满足,因为i和j均等于1,因此不会输出111、112、113、114;
最里面的for执行了四次,跳出循环,到中间那层for(执行了一次j=1),现在执行第二次,j=2,然后又进去最里面for执行四次,满足if判断条件,输出123、124,这里不出输出121和122,因为有数字相同,不满足if判断条件
以次类推,当中间的j执行完四次,在此过程中,每执行一次中间的for就会执行四次最里面的for,执行了四次中间的for,便会执行最外面的,每执行一次最外面的for便会执行四次中间的for,因此三个for嵌套一共会执行4*4*4=64次
看了这么久希望你能学到东西,非常感谢你能不厌其烦看到这里,谢谢大家!