开发者社区> 问答> 正文

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

#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("%ldn",sum);
}
}
if(n 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)不是一个意思
吗? 不知道为什么求解答

展开
收起
a123456678 2016-03-24 11:04:23 1663 0
1 条回答
写回答
取消 提交回答
  • 只要楼主输入的两个数,前一个比后一个小,也就是满足n>=m
    那么会进入第一个if分支,而这个分支里的for循环会对m进行++运算,for循环结束时,m会大于n(大了1)
    然后判断第二个if语句,if(n

    2019-07-17 19:12:18
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
鱼和熊掌可得兼-双内核特性解读 立即下载
漏洞与数据的奇点临近 立即下载
回归职业教育的本质 内容为王,质量至上,赢在口碑 立即下载