| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 357 人关注过本帖
标题:新人求助 呜呜~~~~(>_<)~~~~
只看楼主 加入收藏
chenlily0704
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2015-2-9
结帖率:50%
收藏
已结贴  问题点数:20 回复次数:7 
新人求助 呜呜~~~~(>_<)~~~~
求助
可以运行 但是输入数字后没反应
题目是要算从1到N 的奇数和
图片附件: 游客没有浏览图片的权限,请 登录注册
2015-02-09 04:53
xzlxzlxzl
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:湖北
等 级:贵宾
威 望:125
帖 子:1091
专家分:5825
注 册:2014-5-3
收藏
得分:7 
很明显的算法错误哦。我不大会写c代码,但分析你的while循环条件,可以得知你的代码会出现两种情况:
1,N输入的数小于或等于0,不循环,printf输出为0
2,N输入的数大于0,必定死循环,永远执行不到printf语句,无任何输出。
我觉得用下面的代码可行(临时啃了两下c语法,如有错误,表笑我
while(N>0)
{
if(N%2==1)sum=sum+1;
N=N-1;
}
2015-02-09 08:09
邵蜜柚
Rank: 2
来 自:权大大
等 级:论坛游民
帖 子:79
专家分:86
注 册:2015-2-8
收藏
得分:7 
2楼正解。首先题目是算1到N的,这个N是个界限,假设你输入N是57,那么就是算1到57的奇数和。而楼主你输入57之后,明显是算57到正无穷的奇数和了,成为死循环。所以按照2楼改也可以,要不就是定义个新变量int i;for(i=0;i<=N;i++);if(N%2==1)sum+=1

请给你男神一个爱你的理由。
2015-02-09 09:25
邵蜜柚
Rank: 2
来 自:权大大
等 级:论坛游民
帖 子:79
专家分:86
注 册:2015-2-8
收藏
得分:0 
哟西,那个for后面没有分号噢,手颤了TAT

请给你男神一个爱你的理由。
2015-02-09 09:26
邵蜜柚
Rank: 2
来 自:权大大
等 级:论坛游民
帖 子:79
专家分:86
注 册:2015-2-8
收藏
得分:0 

原谅我。><
最后是if(N%2==1)sum+=i;(不是我上面打的那个1)

请给你男神一个爱你的理由。
2015-02-09 09:34
诸葛欧阳
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:流年
等 级:贵宾
威 望:82
帖 子:2790
专家分:14619
注 册:2014-10-16
收藏
得分:7 
while(N>0&&(N%2==1))改成这句

一片落叶掉进了回忆的流年。
2015-02-09 10:40
chenlily0704
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2015-2-9
收藏
得分:0 
回复 2楼 xzlxzlxzl
感谢指导,新手上路,好人一生平安哦
2015-02-09 12:15
chenlily0704
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2015-2-9
收藏
得分:0 
回复 3楼 邵蜜柚
懂啦懂啦。。感谢亲
2015-02-09 12:17
快速回复:新人求助 呜呜~~~~(>_<)~~~~
数据加载中...
 
   



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

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