| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 845 人关注过本帖
标题:求大神解决我的问题
只看楼主 加入收藏
w4654646
Rank: 1
等 级:新手上路
帖 子:80
专家分:0
注 册:2016-3-2
结帖率:76.47%
收藏
已结贴  问题点数:20 回复次数:9 
求大神解决我的问题
#include<stdio.h>
#include<stdlib.h>
main()
{
    int i,s=0,n;
    scanf("%d",&n);
    if(1<=n<=1000000000)
    {
        for(i=1;i<=n;i++)
        {
            {
                if(i%2==0)
                    i=-i;
                else
                    i=i;
            }
            s=s+i;
        }
    }
    else
        exit(0);
    printf("%d\n",s);
    return 0;
}
2016-03-09 08:52
w4654646
Rank: 1
等 级:新手上路
帖 子:80
专家分:0
注 册:2016-3-2
收藏
得分:0 
上面如何改
2016-03-09 08:53
grmmylbs
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:54
帖 子:1409
专家分:5845
注 册:2016-2-14
收藏
得分:20 
目的是啥?你在for循环里改i的值,很容易造成死循环
2016-03-09 08:58
w4654646
Rank: 1
等 级:新手上路
帖 子:80
专家分:0
注 册:2016-3-2
收藏
得分:0 
我已将1<=n<=1000000000改为n>=1&&n<=1000000000了 但运行结果不满意
2016-03-09 08:58
w4654646
Rank: 1
等 级:新手上路
帖 子:80
专家分:0
注 册:2016-3-2
收藏
得分:0 
回复 3楼 grmmylbs
我是想求1-2+3-4...+n的值 1<=n<=1000000000
2016-03-09 09:00
w4654646
Rank: 1
等 级:新手上路
帖 子:80
专家分:0
注 册:2016-3-2
收藏
得分:0 
大神们告诉我怎么改 或编下给我看
2016-03-09 09:04
grmmylbs
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:54
帖 子:1409
专家分:5845
注 册:2016-2-14
收藏
得分:0 
不要在循环里改i的值,换个变量
#include<stdio.h>
#include<stdlib.h>
main()
{
    int i, s = 0, n,j;
    scanf("%d", &n);
    if (1 <= n <= 1000000000)
    {
        for (i = 1; i <= n; i++)
        {
            {
                if (i % 2 == 0)
                    j = -i;
                else
                    j = i;
            }
            s = s + j;
        }
    }
    else
        exit(0);
    printf("%d\n", s);
    return 0;
}
2016-03-09 09:07
w4654646
Rank: 1
等 级:新手上路
帖 子:80
专家分:0
注 册:2016-3-2
收藏
得分:0 
回复 7楼 grmmylbs
谢谢了  我明白了
2016-03-09 09:08
qq1023569223
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:湖南科技大学
等 级:贵宾
威 望:26
帖 子:2753
专家分:13404
注 册:2010-12-22
收藏
得分:0 
程序代码:
#include <stdio.h>

int main()
{
    int i,s=0,n;
    scanf("%d",&n);

    if(n>=1&&n<=1000000000)  //请不要把C当数学
    {
        for(i=1;i<=n;i++)
        {
            if(i%2==0)  //请不要更改i的值,它是for里面的控制流程元素
            {
                s=s-i;
            }
            else
            {
                s=s+i;
            }
        }
    }
    else
    {
        return 0;
    }

    printf("%d\n",s);

    return 0;
}

   唯实惟新 至诚致志
2016-03-09 09:09
w4654646
Rank: 1
等 级:新手上路
帖 子:80
专家分:0
注 册:2016-3-2
收藏
得分:0 
回复 9楼 qq1023569223
谢谢你的帮忙 我已解决了
2016-03-09 09:39
快速回复:求大神解决我的问题
数据加载中...
 
   



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

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