廣告廣告
  加入我的最愛 設為首頁 風格修改
首頁 首尾
 手機版   訂閱   地圖  簡體 
您是第 5942 個閱讀者
 
發表文章 發表投票 回覆文章
  可列印版   加為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.017105 second(s),query:16 Gzip disabled
本站由 瀛睿律師事務所 擔任常年法律顧問 | 免責聲明 | 本網站已依台灣網站內容分級規定處理 | 連絡我們 | 訪客留言