| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 771 人关注过本帖
标题:对C余元FOR的一道题目的不解
只看楼主 加入收藏
lcb728
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2012-7-26
结帖率:100%
收藏
 问题点数:0 回复次数:17 
对C余元FOR的一道题目的不解
#include <stdio.h>
int main()
{
  int x,y,z;
  while(1)
  {printf("请输入您所需要排列的三个数字:");
      scanf("%d%d%d",&x,&y,&z);
      int i,j,k;
  for(i=x;i<5;i++)
  {for(j=y;j<5;j++)
      for (k=z;k<5;k++)
        if (i!=k&&i!=j&&j!=k)
        printf("%d%d%d  ",i,j,k);
      printf("\n");}}return(0);
}
为什么我编写的程序要这样才可以执行,要写int i,j,k;
  for(i=x;i<5;i++)
  {for(j=y;j<5;j++)
      for (k=z;k<5;k++)这部分


#include <stdio.h>
int main()
{
  int i,j,k;
  while(1)
  {printf("请输入您所需要排列的三个数字:");
      scanf("%d%d%d",&i,&j,&k);
  for(;i<5;i++)
  {for(;j<5;j++)
      for (;k<5;k++)
        if (i!=k&&i!=j&&j!=k)
        printf("%d%d%d  ",i,j,k);
      printf("\n");}}return(0);
}而这样编写的却是错的

搜索更多相关主题的帖子: include return 
2012-07-29 16:24
姻脂梦
Rank: 6Rank: 6
等 级:侠之大者
帖 子:264
专家分:424
注 册:2012-7-3
收藏
得分:0 
这道题,太面熟了。
2012-07-29 17:43
小无相
Rank: 2
等 级:论坛游民
帖 子:35
专家分:39
注 册:2012-7-24
收藏
得分:0 
printf("请输入您所需要排列的三个数字:");
      scanf("%d%d%d",&i,&j,&k);
  for(;i<5;i++)
  {for(;j<5;j++)
      for (;k<5;k++)
        if (i!=k&&i!=j&&j!=k)
        printf("%d%d%d  ",i,j,k);
i,j,k的初始化都在3个for的外边,就是说循环的时候,如果你输入1,2,3过程是这样的:
i=1,j=2,k=3满足条件输出123,然后k+1,k变为4,依然满足条件,输出124,k=5时就
不满足了,那么k的值在3个for循环中一直为5,下面的循环没有一个是满足条件的,所以
也就什么也不输出
2012-07-29 18:22
lcb728
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2012-7-26
收藏
得分:0 
回复 3楼 小无相
但是,我是连前面的123,124都没有输出的呐
2012-07-29 18:40
lcb728
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2012-7-26
收藏
得分:0 
回复 3楼 小无相
说了、、我是连输入1,1,1的时候、、什么答案都没有、连123、这样的都没有、、
2012-07-29 18:40
lcb728
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2012-7-26
收藏
得分:0 
回复 3楼 小无相
而且依我的设计的循环而言、不是123,124之后,为什么不会输入134,这样的
2012-07-29 18:42
小无相
Rank: 2
等 级:论坛游民
帖 子:35
专家分:39
注 册:2012-7-24
收藏
得分:0 
1,1,1不满足条件当然不输出
2012-07-29 19:03
小无相
Rank: 2
等 级:论坛游民
帖 子:35
专家分:39
注 册:2012-7-24
收藏
得分:0 
k=5之后K的值不变,不管i,j是多少都不会输出的,你的k在三个for之外
2012-07-29 19:06
lcb728
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2012-7-26
收藏
得分:0 
回复 8楼 小无相
我说的不是K=5之后的,我说的是输入IJK都等于1,结果一个答案都没有输出,123.124这样的都没有
2012-07-29 19:15
lcb728
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2012-7-26
收藏
得分:0 
回复 7楼 小无相
但我加了三个循环语句啊、1。1.1不满足为什么当中1    不自己变成2,我有J++ 的啊
2012-07-29 19:17
快速回复:对C余元FOR的一道题目的不解
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.030985 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved