2 supersuperna123 supersuperna123 于 2016.04.06 20:35 提问

求和问题 简单的不能再简单了 可惜有瑕疵

输入 m 和n 求m一直加到n代码如下

# ## #include ********_

# ## int main()

# ## {

# ## int m,n,b=0;

# ## long int sum=0;

# ## scanf("%d%d",&m,&n);

# ## if(n>=m)

# ## {

# ## if(n==m)

# ## {

# ## printf("%d",m);

# ## }

# ## else{

# ## for(;m<=n;m++)

# ## {

# ## sum=sum+m;

# ## }

# ## printf("%ld\n",sum);

# ## }

# ## }

# ## if(n<m){

# ## b=n;

# ## n=m;

# ## m=b;

# ## for(;m<=n;m++)

# ## {

# ## sum=sum+m;

# ## }

# ## printf("%ld",sum);

# ## }

# ## return 0;

# ## }********_

错误的地方在if(m>n)当我把它换成else的时候就对了但是写成if(m>n)不是一个意思
吗? 不知道为什么求解答

3个回答

qq423399099
qq423399099   Ds   Rxr 2016.04.06 21:11
已采纳

只要楼主输入的两个数,前一个比后一个小,也就是满足n>=m
那么会进入第一个if分支,而这个分支里的for循环会对m进行++运算,for循环结束时,m会大于n(大了1)
然后判断第二个if语句,if(n<m)满足,又进入了这个if分支,所以会打印两次(这就是瑕疵所在,改成else就不会进入这个循环,或者不要改变m的值)

szllong123
szllong123   2016.04.06 20:40

我咋没看懂你再说啥,另外scanf时要有个逗号或者空格吧

supersuperna123
supersuperna123 好吧我的语文不太好
2 年多之前 回复
dongpengfei1992
dongpengfei1992   2016.04.06 20:48

你应该把你的 “if(n<m)” 改为“else”

supersuperna123
supersuperna123 但是为什么要改恩
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
简单求和
4-3 简单求和   (10分) 本题要求实现一个函数,求给定的N个整数的和。 函数接口定义: int Sum ( int List[], int N ); 其中给定整数存放在数组List[]中,正整数N是数组元素个数。该函数须返回N个List[]元素的和。 裁判测试程序样例: #include #define MAXN 10 int Sum ( int Lis
浏览器如何区分CORS的简单请求和非简单请求
只要同时满足以下两大条件,就属于简单请求。(1) 请求方法是以下三种方法之一: HEAD GET POST (2)HTTP的头信息不超出以下几种字段: Accept Accept-Language Content-Language Last-Event-ID Content-Type:只限于三个值application/x-www-form-urlencoded、multipart/form-dat
C语言经典实例008:一个简单的求和程序
实例008:一个简单的求和程序 实例说明: 设计一个简单的求和程序,通过本实例掌握如何创建、编辑、连接和运行C程序。 实现过程: #include&amp;lt;stdio.h&amp;gt; main() { int a, b, sum; a = 123; b = 789; sum = a + b; printf(&quot;sum is %d\n&quot;, sum);...
4-3 简单求和 (10分)
本题要求实现一个函数,求给定的N个整数的和。 函数接口定义: int Sum ( int List[], int N ); 其中给定整数存放在数组List[]中,正整数N是数组元素个数。该函数须返回N个List[]元素的和。 裁判测试程序样例: #include #define MAXN 10 int Sum ( int List[], int N ); int main
苹果官方承认iPhone8有重大瑕疵,买到就坑了!
比特网 ChinaByte.com 新科技 / 新商业 / 舆论高地 / 商务IT 自从苹果的发布会一来,备受关注的一直是十周年纪念款的iPhoneX,但是这款手机还没有到预定和预售的时间,反而是iPhone8现在已经开始了现货售卖。    之前还有一个尴尬的新闻:22号国行iPhone 8和iPhone 8 Plus正式在苹果官网以及各大渠道开卖。杭州苹果西湖店,早上6点多来
简单到不能再简单的连接池
简单到不能再简单的连接池 unit AdoconnectPool; interface uses   Classes, Windows, SyncObjs, SysUtils, ADODB; type   TADOConnectionPool = class(TObject)   private     FObjList:TThreadList;     FTimeout
第五周-C语言 简单数列的求和
 张威  2016.9.29   数列求和 #include #include int main() { int N=1,sum=0.i; scanf("%d",&N); if(N>0) { for (i=1;i<=2*N-1;) { N=N+2 sum=sum
关机重启软件
简单不能再简单的关机程序
vb.net动态托盘
一个简单不能再简单的托盘
Java的简单输入输出问题
最近正在学Java,了解了一些Java的输入输出的基本语法。。。1.在Java中如何输入以空格隔开的数字呢? 由于一开始输入的数据都是被当成字符串来处理的,所以我们就相当于处理一个字符串,来获得所需要的数据。 可以用scanner()方法来进行输入,具体如下:import java.util.Scanner;//导入Scanner类 public class Main