| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 643 人关注过本帖
标题:哪里错啦,运行不了
只看楼主 加入收藏
幸福最晴天
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2012-11-25
结帖率:83.33%
收藏
已结贴  问题点数:20 回复次数:11 
哪里错啦,运行不了
#include<stdio.h>
int main()
{
   int i,t;
   float sum;
   printf("%d",i);
   scanf("%d",&i);

   sum=0;
   for(i=1;i<=100;i++)
   {
       if(i%2==0)
       t=-(1/i);
       else
       t=(1/i);
       sum=sum+t;
   }
   printf("%f",sum);

}
2012-11-29 23:09
llwwzz
Rank: 2
等 级:论坛游民
帖 子:25
专家分:27
注 册:2012-11-12
收藏
得分:2 
printf("%d",i);没初始化,,,没赋值,,,可以跑,,,vc6.0可以执行,,就是结果不对
2012-11-29 23:17
Sornets
Rank: 2
等 级:论坛游民
帖 子:102
专家分:61
注 册:2012-11-22
收藏
得分:2 
最低下大括号上一行还要加个return 0;
还有就是楼上说的
2012-11-30 00:29
StarFall
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:1
帖 子:193
专家分:553
注 册:2012-10-1
收藏
得分:2 
回复 楼主 幸福最晴天
;
printf("%d",i);
scanf("%d",&i);隐约感觉楼主把这两句的顺序弄反了。

去追寻更高的技术领域。永不停止。
2012-11-30 08:04
mayuebo
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:6
帖 子:257
专家分:1282
注 册:2005-9-8
收藏
得分:2 
printf("%d",i);
中的i没有初始化,会导致程序出错。直接崩溃

成功贵在坚持
2012-11-30 08:49
锋了
Rank: 7Rank: 7Rank: 7
来 自:向日葵幼儿园
等 级:黑侠
威 望:2
帖 子:306
专家分:586
注 册:2012-10-27
收藏
得分:2 
我已帮你改过,看注释
#include<stdio.h>
int main()
{
   int i,t;
   float sum;
   scanf("%d",&i);
   printf("%d",i);                   //这两句你弄反了,应该先赋值,再输出,我已经改过了;想想,他都没有内容,你就输出行吗?


   sum=0;
   t=0;   
   for(i=1;i<=100;i++)
   {
       if(i%2==0)
       t=-(1/i);       //这里问题也是,你t都不赋个值给它,你就使用了。应该先初始化它如:t=0;
       else
       t=(1/i);
       sum=sum+t;
   }
   printf("%f",sum);

}
2012-11-30 10:00
张朝成
Rank: 4
等 级:业余侠客
帖 子:149
专家分:265
注 册:2012-3-22
收藏
得分:2 
以下是引用锋了在2012-11-30 10:00:51的发言:

我已帮你改过,看注释
#include
int main()
{
   int i,t;
   float sum;
   scanf("%d",&i);
   printf("%d",i);                   //这两句你弄反了,应该先赋值,再输出,我已经改过了;想想,他都没有内容,你就输出行吗?
 
   sum=0;
   t=0;     
   for(i=1;i<=100;i++)
   {
       if(i%2==0)
       t=-(1/i);       //这里问题也是,你t都不赋个值给它,你就使用了。应该先初始化它如:t=0;
       else
       t=(1/i);
       sum=sum+t;
   }
   printf("%f",sum);
 
}
t定义为整型就可以了吧,不用初始化。
2012-11-30 10:23
ciscoh3c
Rank: 1
等 级:新手上路
帖 子:14
专家分:7
注 册:2012-11-25
收藏
得分:2 
楼主这个程序是求什么啊?
2012-11-30 16:22
ciscoh3c
Rank: 1
等 级:新手上路
帖 子:14
专家分:7
注 册:2012-11-25
收藏
得分:0 
#include<stdio.h>
int main()
{
   int i,t;
   float sum;
   
   scanf("%d",&i);
   printf("%d\n",i);     //这里给你添加了一个回车符,方便阅读sum的值           

   sum=0;
   t=0;  
     
   for(i=1;i<=100;++i) //虽然前面 你用&i 从键盘上取一个整形,但这里i又重新赋值为1,用for循环
   {
       if(i%2==0)
           t=-(1/i);       //这里看不明白,除法/的运算结果,它和运算对象的数据类型有关,
                       //两个数都是int.则商一定是int,若商有小数,则截取小数点前面的部分,所以这里t值恒等于0
       else
          t=(1/i);    //这里也是一样的。仅当i=1时,t=1,当i取其它值时,t都等于0
          sum=sum+t;   
   }
   printf("%f",sum);  /*所以 不管你输入什么值,sum值 一直等于1啊。*/
   
/*不知道我分析的对不对。请指证,*/
}

[ 本帖最后由 ciscoh3c 于 2012-11-30 16:59 编辑 ]
2012-11-30 16:51
azzbcc
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:江西财经大学
等 级:贵宾
威 望:81
帖 子:3293
专家分:12919
注 册:2012-11-4
收藏
得分:2 
听 9楼的,应该是double t;然后 t = (1.0 / i)


[fly]存在即是合理[/fly]
2012-11-30 17:45
快速回复:哪里错啦,运行不了
数据加载中...
 
   



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

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