一道说明double向int转换的程序
#include "stdio.h"#include "math.h"
void main()
{
int i;
int n;
int sum=0;
double s;
scanf(" %d",&n);
for(i=1;i<n;i++)
{if(i%3==0&&i%7==0)
sum+=i;
}
s=sqrt(sum);
printf("%lf",s);
}
[bo]题目实现:[/bo]
输入一个整数放入n变量,在n范围内求,既能被3整除,又能被7整除的自然数的和(存在sum中),然后对sum开平方,结果放s变量中。
[bo]以n=1000为例[/bo]。
上面程序运行正确。下面程序运行n=1000后,输出为0.000000
谁能解释一下~
#include "stdio.h"
#include "math.h"
void main()
{
int i;
int n;
int sum=0;
int s; /*与上面唯一[bo]不[/bo]一样处*/
scanf(" %d",&n);
for(i=1;i<n;i++)
{if(i%3==0&&i%7==0)
sum+=i;
}
s=sqrt(sum);
printf("%lf",s);
}
[[it] 本帖最后由 ensky_cy 于 2008-10-31 21:09 编辑 [/it]]