标题:大侠们来帮帮我........
只看楼主
漫天花雨
Rank: 1
等 级:新手上路
帖 子:90
专家分:0
注 册:2008-7-13
结帖率:100%
 问题点数:0 回复次数:4 
大侠们来帮帮我........
小弟是一个新手,有个问题不清楚,想请教各位大侠们的帮助
题目如下


 100   50      10
 ∑k + ∑k*k + ∑1/k   
 k=1   k=1     k=1

#include<stdio.h>
void main()
{
  int sum=0,s1=0,s2=0,s3=0,k;
  for(k=1;k<=100;k++)
 {
s1=s1+k;
  }
  for(k=1;k<=50;k++)
{
 s2=s2+k*k;
}
 for(k=1;k<=10;k++)
{
s3=s3+1/k;
}
sum=s1+s2+s3;
printf("sum is=%d\n",sum);
}
为什么结果是负数....?????

多谢好心人帮忙0.....
搜索更多相关主题的帖子: sum int main includevoid 
2008-07-14 21:09
coolszy
Rank: 1
来 自:编程论坛
等 级:新手上路
帖 子:241
专家分:5
注 册:2007-11-3
得分:0 
变量的类型声明错了
要声明 float 类型
注意: 第三个循环中 如果你声明变量为int,则
k=1    s3=0+1/1=1;
k=2    s3=1+1/2=1+0=1;
.
.
.
最终s3=1;
在C语言中   整数/整数=整数   余数舍掉

天道酬勤
2008-07-15 17:15
漫天花雨
Rank: 1
等 级:新手上路
帖 子:90
专家分:0
注 册:2008-7-13
得分:0 
为什么一定用float呢??用int不可以嘛?
什么时候用float 什么时候用int呢?
多谢指点
2008-07-15 18:16
coolszy
Rank: 1
来 自:编程论坛
等 级:新手上路
帖 子:241
专家分:5
注 册:2007-11-3
得分:0 
如果你运算时结果是整数而且结果在int(-32768-32767)的范围内,这时你可以用int,
你问的这一题,在除法运算时,结果出现小数,如果使用Int,则会把小数舍去,影响结果

天道酬勤
2008-07-16 18:32
coolszy
Rank: 1
来 自:编程论坛
等 级:新手上路
帖 子:241
专家分:5
注 册:2007-11-3
得分:0 
最好先看看书,理解几种基本类型的用法

天道酬勤
2008-07-16 18:33



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-223887-1-1.html




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

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