| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 420 人关注过本帖
标题:新手,不知道错在哪里
只看楼主 加入收藏
lcb728
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2012-7-26
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:9 
新手,不知道错在哪里
#include <stdio.h>
int main()
{
int i,j,k;
printf("请输入您的i,j,k值=");
scanf("%d%d%d",&i,&j,&k); 我通过这里来对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);
}
}
为什么最后输入数据后,没答案显示
搜索更多相关主题的帖子: include 
2012-07-29 00:45
w995612220
Rank: 5Rank: 5
等 级:职业侠客
威 望:1
帖 子:139
专家分:313
注 册:2012-6-20
收藏
得分:0 
#include <stdio.h>
int main()
{
int i,j,k;
printf("请输入您的i,j,k值=");
scanf("%d%d%d",&i,&j,&k); //我通过这里来对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);
}
}
注释记得加//或者 /*   */   题目的意思是输入三个整数,且整数小于五。试着输入 1 0 2吧!在这你这个程序本身有点怪。你如果调试会明白一切的。
2012-07-29 01:16
LShang
Rank: 4
来 自:China
等 级:业余侠客
威 望:3
帖 子:183
专家分:258
注 册:2010-12-24
收藏
得分:5 
楼主的代码风格跟谁学的,这for语句的写法太蛋疼了。。。
另外楼主的代码执行是这样的
程序代码:
#include <stdio.h>
int main()
{
int i,j,k;
printf("请输入您的i,j,k值=");
scanf("%d%d%d",&i,&j,&k); /* 假设我这里输入3个不同的数,1 2 3 */
for(;i<5;i++)    /* 进入i循环,这个for循环只有一条语句,就是下面那个for,此时i = 1 */
for(;j<5;j++)    /* 进入j循环,这个for循环仍然只有一条语句,就是下面那个for,此时 j = 2 */
for(;k<5;k++)    /* 进入k循环,这个for循环有两条语句,判断i j k是否均不相等,若均不相等则打印。此时 k = 3 */
        {        /* k循环的执行依据是 k < 5,则该循环在总共会执行两次, k = 3 和 k = 4时执行 */
if (i!=k&&i!=j&&j!=k)    /* k = 3 时,i = 1,j = 2,k = 3,均不相等,打印;k = 4时,i = 1,j = 2,k = 4,均不相等,打印。 */
printf("%d%d%d ",i,j,k); 
}    /* k = 5时,不满足k循环的执行依据,所以跳出循环,返回j循环,j++后再一次执行,进入k循环,此时由于 k = 5,不满足k循环执行依据,所以不执行k循环体内语句;j循环返回后,i循环再一次执行于此同理 */
}

所以楼主精心设计的3个循环,因为没有考虑i,j,k的值被改变的问题,所以实际上只有k循环能够正确的执行。

学如逆水行舟,不进则退
士不可以不弘毅,任重而道远
2012-07-29 09:49
LShang
Rank: 4
来 自:China
等 级:业余侠客
威 望:3
帖 子:183
专家分:258
注 册:2010-12-24
收藏
得分:5 
唔 另外为啥楼主给main定义了int型返回值却在程序结束时不给人家返回

学如逆水行舟,不进则退
士不可以不弘毅,任重而道远
2012-07-29 10:03
lcb728
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2012-7-26
收藏
得分:0 
回复 3楼 LShang
我拿你的程序复制进去运行了一遍、还是没有答案呐
2012-07-29 10:24
lcb728
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2012-7-26
收藏
得分:0 
回复 4楼 LShang
对了,定义了int main()怎么给它返回
2012-07-29 10:25
LShang
Rank: 4
来 自:China
等 级:业余侠客
威 望:3
帖 子:183
专家分:258
注 册:2010-12-24
收藏
得分:2 
楼主,你没发现吗?我的代码就是你的代码。。。连代码风格我都没修改的。。。
另外,函数的返回值任何一本关于C的书都有提到吧,不然Google一下也就知道了

学如逆水行舟,不进则退
士不可以不弘毅,任重而道远
2012-07-29 10:31
小糊涂神c30
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:3
帖 子:198
专家分:809
注 册:2012-4-25
收藏
得分:5 
#include <stdio.h>
int main()
{
    int i,j,k;
    for(i=0;i<5;i++)
        for(j=0;j<5;j++)
            for(k=0;k<5;k++)
            {
                if (i!=k&&i!=j&&j!=k)
                    printf("%d%d%d ",i,j,k);
            }
            return 0;
}



#include <stdio.h>
int main()
{
    int i,j,k;
    printf("请输入您的i,j,k值=");
    scanf("%d%d%d",&i,&j,&k); //我通过这里来对i,j,k来进行赋值
    if(i!=k&&i!=j&&j!=k)
        printf("%d%d%d ",i,j,k);
    else
        printf("i,j,k不合条件!")
    return 0;
}
不懂楼主的意思,楼主看一下这两个哪一个符合你的要求吧···
2012-07-29 13:47
姻脂梦
Rank: 6Rank: 6
等 级:侠之大者
帖 子:264
专家分:424
注 册:2012-7-3
收藏
得分:3 
楼主是想测试循环中自增变量吧?
2012-07-29 15:15
lcb728
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2012-7-26
收藏
得分:0 
回复 8楼 小糊涂神c30
我需要的是把你的两个整合到一起
2012-07-29 15:18
快速回复:新手,不知道错在哪里
数据加载中...
 
   



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

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