C语言,若输入一个整数n是偶数,值为1/2+1/4+...+1/n,若为奇数,值为1/1+1/3+..+1/n

#include<stdio.h>intmain(){intn,k,i,j;printf("请输入一个正整数n=?");scanf("%d",&n);while(n%2=... #include<stdio.h>
int main()
{int n,k,i,j;
printf("请输入一个正整数 n=?");
scanf("%d",&n);
while(n%2==0)
for(i=2;i<=n;i=i+2)
k=1/2+1/i;
while(n%2!=0)
for(j=1;j<=n;j=j+2)
k=1/1+1/j;
printf("%d",k);
return 0;
}
这个为什么不行?
展开
 我来答
985967518
推荐于2018-04-10 · 知道合伙人教育行家
985967518
知道合伙人教育行家
采纳数:18027 获赞数:109853
14年本科毕业于河南理工大学,至今就读于河南理工大学攻读硕士学位,从事编程学习已有5年。

向TA提问 私信TA
展开全部

修改代码:

#include<stdio.h>
int main()
{
    int n,i,j;
    double k;//k是都变了类型
    printf("请输入一个正整数 n=?");
    scanf("%d",&n);
    if(n%2==0)//while改成if
    {
        k=1/2.0;
        for(i=2;i<=n;i=i+2)
            k=k+1.0/i;
     }
    if(n%2!=0)//while改成if
    {
        k=1.0;
        for(i=3;i<=n;i=i+2)
            k=k+1.0/i;
     }
    printf("%lf",k);
    return 0;
}
RMBstarX
2016-05-22 · TA获得超过621个赞
知道小有建树答主
回答量:565
采纳率:0%
帮助的人:254万
展开全部
#include<stdio.h>
using namespace std;

int main(){

int n;
float sum = 0;

do{
scanf("%d",&n);
} while(n%2!=0 || n<10);

sum = sum+1;

for(int index =2; index<=n ; index= index+2){
sum = sum+ 1.0/((float)index) ;
}

printf("%.6f",sum);

return 0;

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式