| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 882 人关注过本帖
标题:小学妹渣的程序就是死活调不过去。。。。。。。指定次数的循环
只看楼主 加入收藏
bsb5wdza
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2015-4-4
结帖率:80%
收藏
已结贴  问题点数:2 回复次数:11 
小学妹渣的程序就是死活调不过去。。。。。。。指定次数的循环
【问题描述】输入一个正整数n,计算1 - 1/4 +1/7 -1/10 +1/13 -1/16+............的前n项之和,输出时保留3位小数
哪错了????、
#include<stdio.h>
#include<math.h>
int main()
{
 float n,i,,sum1=0,sum2=0;
 scanf("%f",&n);
 for(i=1;i<=n;i++)
 {
  if(i%2==0)
  sum1+=(-1)/(3i-2);
  else
  sum2+=1/(3i-2);
 }
 printf("%.3f",sum1+sum2);
   

 return 0;
}
搜索更多相关主题的帖子: include 
2015-04-19 17:03
bsb5wdza
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2015-4-4
收藏
得分:0 
输入一个正整数n,计算1 - 1/4 +1/7 -1/10 +1/13 -1/16+............的前n项之和,输出时保留3位小数

喵 ~
2015-04-19 17:04
我爱吃青菜
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:6
帖 子:190
专家分:500
注 册:2015-3-29
收藏
得分:1 
可以把i,n声明成int吗?float类型似乎不能求余吧?然后sum1 += (-1)/((float i)*3-2)

或者声明不动,if((int i)%2 == 0)

[ 本帖最后由 我爱吃青菜 于 2015-4-19 20:05 编辑 ]
2015-04-19 19:51
·charles
Rank: 2
等 级:论坛游民
帖 子:67
专家分:48
注 册:2015-3-23
收藏
得分:1 
最起码表达式不能像数学那样写吧,乘号必须有。。。

编程!编程!!编程!!!
重要的事情说三遍!!!!
2015-04-19 23:49
code力力
Rank: 5Rank: 5
来 自:宜昌
等 级:职业侠客
威 望:2
帖 子:215
专家分:338
注 册:2015-1-12
收藏
得分:1 
程序代码:

# include <stdio.h>
int main (void)
{
    int i,n;
    float sum=0;//总和 
    int step=1,token=1;//step是分母,token代表循环变换的+ -号 
    
    scanf("%d",&n);
    
    for(i=0;i<n;i++)
    {
        sum+=1/(step*1.0)*token; 
        
        step+=3;
        token=-token;
    }
    
    
    printf("sum=%.3f",sum); 
    
    
    return 0;
}

你醒了?快起来敲代码!!
2015-04-19 23:58
code力力
Rank: 5Rank: 5
来 自:宜昌
等 级:职业侠客
威 望:2
帖 子:215
专家分:338
注 册:2015-1-12
收藏
得分:0 
写代码思路要清晰,不然你写的时候胆战心惊,你会一直担心这个程序能不能跑起来,下一步要写什么语句....

C是面向过程的,所以一定要把执行顺序,流程在写代码前弄清楚,先做什么,后做什么,哪些需要循环,哪些需要选择..

你醒了?快起来敲代码!!
2015-04-20 00:03
·charles
Rank: 2
等 级:论坛游民
帖 子:67
专家分:48
注 册:2015-3-23
收藏
得分:0 
回复 6楼 code力力
#include "stdio.h"
int main()
{
    int i,t=1,a=1,n;
    float y=0;
    scanf("%d",&i);
    for(n=0;n<i;n++)
    {
        y+=t/a;
        a+=3;
        t=-t;
    }
    printf("%f",y);
    return 0;
}
我的错在哪了,答案一直是1.0

编程!编程!!编程!!!
重要的事情说三遍!!!!
2015-04-20 00:17
code力力
Rank: 5Rank: 5
来 自:宜昌
等 级:职业侠客
威 望:2
帖 子:215
专家分:338
注 册:2015-1-12
收藏
得分:0 
另外,看你写的代码,我得提醒是:不要把有规律的整形调整因子定义为浮点
型,你了解下浮点数的存储就知道了。这就好比:1个人,4个人,7个人,而不是1.000000个人
3.999999个人,7.000000个人。

你醒了?快起来敲代码!!
2015-04-20 00:19
code力力
Rank: 5Rank: 5
来 自:宜昌
等 级:职业侠客
威 望:2
帖 子:215
专家分:338
注 册:2015-1-12
收藏
得分:0 
y+=t/(a*1.0)

在c中,整数除整数结果永远是整数,你至少要把其中一个变为浮点型

你醒了?快起来敲代码!!
2015-04-20 00:22
·charles
Rank: 2
等 级:论坛游民
帖 子:67
专家分:48
注 册:2015-3-23
收藏
得分:0 
回复 9楼 code力力
谢谢

编程!编程!!编程!!!
重要的事情说三遍!!!!
2015-04-20 00:30
快速回复:小学妹渣的程序就是死活调不过去。。。。。。。指定次数的循环
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015931 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved