小白求助C语言作业问题,问题是1+1/2+1/3+.....+...... 输入n的具体值,求和

#include<stdio.h>intmain(){intn,a,sum;sum=0;printf("Entern\n");scanf("%d",n);for(a=0;... #include<stdio.h>
int main()
{
int n,a,sum;
sum=0;
printf("Enter n\n");
scanf("%d",n);

for(a=0;a<=n;a++)
{sum=sum+(1/a)};

{printf("sum=%d",sum)};
return 0;
}

我的不行,呜呜
展开
 我来答
天雨下凡
2016-10-17 · 知道合伙人教育行家
天雨下凡
知道合伙人教育行家
采纳数:17564 获赞数:65174
爱电脑、爱数学、爱音乐; 熟悉VB、C/C++、JAVA; EXCEL与VBA有所研究…… 数学,一些会,一些被忘却……

向TA提问 私信TA
展开全部

把所有变量设为int型不正确,会丢掉小数部分,导致结果错误,scanf中漏了一个&,还有几处分号位置有问题,正确代码如下:

#include<stdio.h>
int main()
{
    float sum=0;
    int a,n;
    printf("Enter n\n");
    scanf("%d",&n);
    for(a=1;a<=n;a++)
    {
        sum=sum+1.0/a;
    }
    {
        printf("sum=%.2f",sum);
    }
    return 0;
}
更多追问追答
追问
可以运行了,为什么小数点变成#j
可以运行了,为什么小数点变成#j
早上的云中云
2016-10-17
知道答主
回答量:27
采纳率:0%
帮助的人:2.4万
展开全部
你写的什么鬼,我也刚学,跟你好多地方不一样,彼此交流一下吧
#include<stdio.h>
int main()
{
int n,i=1,sum=0;
printf("please input the n:\n");
scanf("%d",&n);
while(i<=n)
{
sum+=i;
i++;
}
printf("%d",sum);
}
追问
你用while的哦,我的解决了…为毛只能采纳一个
追答
采纳谁的倒无所谓,问题解决了就好
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式