高手看看我这个程序错在哪里?
来源:学生作业帮 编辑:搜狗做题网作业帮 分类:综合作业 时间:2024/08/09 20:52:04
高手看看我这个程序错在哪里?
#include
void main()
{
int n,i;
float s;
printf("pleas scanf\n");
scanf("%d",&i);
s=1;n=2;
do
{
s=s+n/(n-1);
n++;}
while (n
#include
void main()
{
int n,i;
float s;
printf("pleas scanf\n");
scanf("%d",&i);
s=1;n=2;
do
{
s=s+n/(n-1);
n++;}
while (n
![高手看看我这个程序错在哪里?](/uploads/image/z/18827440-16-0.jpg?t=%E9%AB%98%E6%89%8B%E7%9C%8B%E7%9C%8B%E6%88%91%E8%BF%99%E4%B8%AA%E7%A8%8B%E5%BA%8F%E9%94%99%E5%9C%A8%E5%93%AA%E9%87%8C%3F)
n和n-1都是整型,所以n/(n-1)是按照整型除法来做的,得不到你想要得到的结果.
建议s=s+n/(n-1)修改成:
s += ((float)n) / (n-1);
也就是增加显式的类型转换.
希望有用.
再问: 不行
再答: 你可不可以多说一些信息,比如你输入了什么,出现什么错误等等。 你那边的东西不能认为我也可以看到啊,我就是想帮你我都不知道该怎么帮,呵呵。
再问: 呵呵 我找到原因了 谢谢你呀
建议s=s+n/(n-1)修改成:
s += ((float)n) / (n-1);
也就是增加显式的类型转换.
希望有用.
再问: 不行
再答: 你可不可以多说一些信息,比如你输入了什么,出现什么错误等等。 你那边的东西不能认为我也可以看到啊,我就是想帮你我都不知道该怎么帮,呵呵。
再问: 呵呵 我找到原因了 谢谢你呀