2 baby00qi baby00qi 于 2016.03.10 16:32 提问

关于重复输出的问题,求大神帮我看看
c
 #include<stdio.h>
int main()
{
    for(int i=1;i<=46;i++){
        for(int j=i+2;j<=48;j++){
            //for(int num1=i;num1<=46;num1++)  //为什么这两行写了就会出来很多重复的呢? 
                //for(int num2=j;num2<=48;num2++)
                    int change=0;
                    change=i*(i+1)-i-i-1;
                    change+=j*(j+1)-j-j-1;
                    if(change==(2015-1225)){
                        printf("%d %d\n",i,j);
                    }       
        }
    }

}

3个回答

qq423399099
qq423399099   Ds   Rxr 2016.03.10 17:00
已采纳

注释那两个for以后你有两组i,j满足条件,[10,27],[16,24]
打开注释后,你想想,当i=10,j=27时,里面两个for循环每次循环都能满足if条件,都能打印,所以一共会打印
(46-10+1)*(48-27+1)=814次
当i=16,j=24时,又会打印(46-16+1)*(48-24+1)=775次
楼主不信的话,可以弄个变量记录打印的次数

Beluma123
Beluma123   2016.03.10 16:47

我用VS2005运行了你的代码,结果是:

注释掉你说明的两个for循环时的结果

图片说明

解除那两个for循环中的任意一个就编译错误

图片说明
编译错误的原因可能是for循环给它后面的第一个句子添加了一个默认的大括号,相当于
for(int num2=j;num2<=48;num2++)
{int change=0;}
所以此时后面的change就认为是没有声明的变量(因为超出了change变量的作用域.
另外我看你的程序是要寻找满足特定条件的i和j的值,所以你说明的两个for循环是没有作用的.
如果你想让解除for循环注释后编译成功,可以把change定义在外面,比如
int main()
{
int change;
....
之后的change前面不要带int,就行了.

ensey
ensey   2016.03.10 16:51

外循环一次,内循环一遍,切记!

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
谁来帮我看看,背景图片不显示
第一次做这个,不知道怎么弄,查了好多也没弄明白.谁来帮我看看啊!代码:      http://image5.poco.cn/mypoco/myphoto/20080529/20/44323759200805292051043373686785122_000_640.jpg" width="148" height="393" />    http://image5.poco.cn/mypoco/m
求数据结构大神帮我看看程序!!谢谢!!!
写了一个图的深度遍历  但是没有按照想象中出现结果  通过调试 发现没有进入递归函数DFS 求大神指教啊 万分感谢 #include using namespace std; typedef struct arcNode{ int adj; double weight; struct arcNode *next; }ArcNode; typedef
testjni.rar
各位帮我看看代码有没有问题,我自己会出现UnsatisfiedLinkError错误,求帮助
求大神帮我解决此问题:Qt5.10无法加载MySQL驱动
![![部分代码](https://img-ask.csdn.net/upload/201805/31/1527698078_350715.png)![报错](https://img-ask.csdn.net/upload/201805/31/1527698102_990871.png)**为什么按照网上的加载驱动的步骤都还是无法加载,我的Mysql是5.5的,Qt是5.10的,下载了mysql-...
java大神潜在的十个特征
java以其简单,稳健,高效的特性对于编程来说是个不错的选择,那么我们该如何学习掌握这门语言呢?下面列举了一些关于学习java的一些心得,希望对大家有所帮助 1.订阅最新资讯 学习新技术首先要做的是订阅相关的技术社区论坛。我们并非是独行者。很多人都和我们一样在研究着相同的技术。只对某个框架概念做验证是不难,但是当你将这些概念应用到实际的项目中时,那么各种各样的问题,各种在搜索不到解决方
山东理工大学ACM平台题答案 2561 九九乘法表
九九乘法表 Time Limit: 1000ms   Memory limit: 65536K  有疑问?点这里^_^ 题目描述       九九乘法表是数学学习的基础,今天我们就来看看乘法表的相关问题。《九九乘法歌诀》,又常称为“小九九”,如下图所示。你的任务是写一个程序,对于给定的一个正整数 n ,输出“九九乘法表”的前 n 行。例如,输入 n 为 9,你的程序的输出将为
C++考勤系统
这程序有问题 谁来帮我看看
zcmu-1184(矩阵乘法)
1184: 帮我求算一下斐波那契数吧Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 221  Solved: 42[Submit][Status][Web Board]DescriptionAYY小朋友对斐波那契数非常感兴趣,他知道f[1]=1,f[2]=1,并且从第三个斐波那契数开始f[n]=f[n-2]+f[n-1](n&amp;gt;=3),可是AYY小...
在MFC上进行截图
可以画矩形框,但截得图片显示有问题,期待大神帮我。
现阶段实践“拿着锤子找钉子”的六个步骤
注:3月8日晚,咱们饭团“AI产品经理大本营”举行了第2期微信群分享活动;本文干货总结,来自四位分享嘉宾中的第一位,@郭靖。【嘉宾介绍】@郭靖:前迅雷、乐逗市场/产品,现创业者,曾获大数据BOT大赛冠军。公司曾开发选车聊天机器人,汽车维修门店智能助理,对话信息车险反欺诈。曾入选硅谷Draper University创业营,4个月英语从0学到能辩论并自学tensorflow至可写主流CNN。是咱们饭