c语言 程序出问题 运行不到结果

来源:百度知道 编辑:UC知道 时间:2024/05/12 13:00:55
50 20
求∑k + ∑(1/k),
k=1 k=1
我编的代码main()
{
int s,k;
float g,n,h;

for(s=0,k=1;k<=50;k=k+1)
{s=s+k;}
for(g=0,n=1.0;n<=20;n=n+1)
{g=g+1/n;
}
h=g+s;
printf("%d\n",h);
}

#include<stdio.h>
void main()
{
int s,k;
float g,n,h;

for(s=0,k=1;k<=50;k=k+1)
{
s=s+k;
}

for(g=0,n=1.0;n<=20;n=n+1)
{
g=g+1/n;
}

h=g+s;

printf("%f\n",h);
}

你就是printf(“%f”)-----应该浮点型输出

把最后一句改为:printf("%f\n",h); 输出结果是:1278.59778
注意printf()的输出格式:
%d 有符号十进制整数
%f 浮点数、十进制记数法

s是int 型,g是float型,类型不一致

有时C性能不是太稳定!我学的时候也是如此,还有就是你当时运行的时候可能是又来那个咯主函数!你的程序应该没有什么问题!为了更好你再在末尾加一句 RETURN 0;不知道你现在解决这个问题没有?

1.n是float型,请不要用做循环的计数器使用
2.h是float型,printf格式化参数应该是%f