广告广告
  加入我的最爱 设为首页 风格修改
首页 首尾
 手机版   订阅   地图  繁体 
您是第 5937 个阅读者
 
发表文章 发表投票 回覆文章
  可列印版   加为IE收藏   收藏主题   上一主题 | 下一主题   
pk01749276 手机
数位造型
个人文章 个人相簿 个人日记 个人地图
小人物
级别: 小人物 该用户目前不上站
推文 x0 鲜花 x8
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片
推文 x0
[C/C++][精华] 1-2+3-4+5-6.......一直至N(已解决)
我哪里打错呢~~~为什么都不是我要的结果!
请求各位大大帮忙或是有更好的意见呢?

#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char ..

访客只能看到部份内容,免费 加入会员 或由脸书 Google 可以看到全部内容



[ 此文章被pk01749276在2007-01-11 19:52重新编辑 ]


献花 x0 回到顶端 [楼 主] From:台湾新世纪资通股份有限公司 | Posted:2007-01-11 19:08 |
tr99632 手机
个人文章 个人相簿 个人日记 个人地图
小人物
级别: 小人物 该用户目前不上站
推文 x0 鲜花 x17
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

复制程式
#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
    int n,i,total1=0,total2=0,sum=0;
    printf("n请输入整数n值:");
    scanf("%d",&n);
    for(i=1;i<=n;i++) //你的for loop没有设定完整
    {
              if((i+1)%2==0)  //如果你用i++ 会影响到接下来的运算
                     total1+=i;
              else
                     total2+=i;
    }
    sum=total1-total2; //奇数的系数是正的  偶数的系数是负的  应该要用奇数和-偶数和
    printf("1-2+3-4+5-6+-.....+-n值为:%d   n",sum);
    system("PAUSE");
    return EXIT_SUCCESS;
}



献花 x0 回到顶端 [1 楼] From:台湾台北市 | Posted:2007-01-12 23:51 |
tr99632 手机
个人文章 个人相簿 个人日记 个人地图
小人物
级别: 小人物 该用户目前不上站
推文 x0 鲜花 x17
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

这是我们教授教的方法
复制程式
int main(int argc, char *argv[])
{
    int n,i,sum=0;
    int sw=1;   //sw作为正负控制用
    printf("n请输入整数n值:");
    scanf("%d",&n);
       for(i=1;i<=n;i++)
       {
              sum=sum+i*sw;
              sw*=-1;
       }
    printf("1-2+3-4+5-6+-.....+-n值为:%d   n",sum);
    system("PAUSE");
    return EXIT_SUCCESS;
}

此文章被评分,最近评分记录
财富:40 (by codeboy) | 理由: 谢谢您的回答喔^^


献花 x0 回到顶端 [2 楼] From:台湾台北市 | Posted:2007-01-12 23:57 |
drizztkuo
数位造型
个人文章 个人相簿 个人日记 个人地图
路人甲
级别: 路人甲 该用户目前不上站
推文 x0 鲜花 x2
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

抱歉!有点答非所问!
如果仅是要得出1-2+3-4+5-6.....+-N数列的答案,程式可以改以另外一种写法吧?!
例如
sum = 0 ;
if (0==(n % 2))
sum = - n/2;
else
sum = (n+1)/2;
printf("1-2+3-4+5-6+-.....+-n值为:%d   n",sum);
..................


献花 x0 回到顶端 [3 楼] From:台湾中华电信HINET | Posted:2007-01-13 00:14 |
tr99632 手机
个人文章 个人相簿 个人日记 个人地图
小人物
级别: 小人物 该用户目前不上站
推文 x0 鲜花 x17
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

下面是引用drizztkuo于2007-01-13 00:14发表的 :
抱歉!有点答非所问!
如果仅是要得出1-2+3-4+5-6.....+-N数列的答案,程式可以改以另外一种写法吧?!
例如
sum = 0 ;
if (0==(n % 2))
.......

呵呵 没有答非所问阿
楼主是说 请求各位大大帮忙"或是有更好的意见呢?"
好妙的方法
我是看到答案的规律后才知道为什么要这样设的 XD
复制程式
int sum = 0 ;
       if (n%2)
              return(sum=(n+1)/2);
       else
              return(sum=-n/2);


献花 x0 回到顶端 [4 楼] From:台湾台北市 | Posted:2007-01-13 00:53 |
sqwzhandsome
数位造型
个人文章 个人相簿 个人日记 个人地图
路人甲
级别: 路人甲 该用户目前不上站
推文 x0 鲜花 x0
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

这是我的方法效率!不知合适么!
复制程式
 
#include <stdio.h>
#include <stdlib.h>
long fn(long n)
{
       if(n<=0)  
       {
              printf("error: n must > 0");
              exit(1);
       }
       if(0==n%2)
              return (n/2)*(-1);
       else
              return (n/2)*(-1)+n;
}  
int main(void)
{
       long int i,j;
       printf("Please input number  ");
       scanf("%ld",&j);
       i=fn(j);
       printf("The sum is %ld ",i);
       return 0;
}

此文章被评分,最近评分记录
财富:40 (by codeboy) | 理由: 谢谢您的回答喔^^


献花 x0 回到顶端 [5 楼] From:上海 | Posted:2007-01-23 01:15 |
醉在咖啡香
个人文章 个人相簿 个人日记 个人地图
初露锋芒
级别: 初露锋芒 该用户目前不上站
推文 x0 鲜花 x49
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

下面是引用drizztkuo于2007-01-13 00:14发表的 :
抱歉!有点答非所问!
如果仅是要得出1-2+3-4+5-6.....+-N数列的答案,程式可以改以另外一种写法吧?!
例如
sum = 0 ;
if (0==(n % 2))
.......

看应征什么公司吧 ...
嵌入式系统开发 ..... 恭喜 ... 你录取啰

... 底下的
return(sum=(n+1)/2);
return(sum=-n/2);
更高分 ...... (有没有这么龟毛呀 表情 )


献花 x0 回到顶端 [6 楼] From:台湾数位联合 | Posted:2007-01-27 01:43 |
drizztkuo
数位造型
个人文章 个人相簿 个人日记 个人地图
路人甲
级别: 路人甲 该用户目前不上站
推文 x0 鲜花 x2
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

哈~
如果要精简那这样写好了!

return n%2 ? (n+1)/2 : -n/2;

不然改用递回函数来写也不错喔!


献花 x0 回到顶端 [7 楼] From:台湾 | Posted:2007-01-29 11:17 |

首页  发表文章 发表投票 回覆文章
Powered by PHPWind v1.3.6
Copyright © 2003-04 PHPWind
Processed in 0.080085 second(s),query:16 Gzip disabled
本站由 瀛睿律师事务所 担任常年法律顾问 | 免责声明 | 本网站已依台湾网站内容分级规定处理 | 连络我们 | 访客留言