[爆卦]For 迴圈 題目是什麼?優點缺點精華區懶人包

為什麼這篇For 迴圈 題目鄉民發文收入到精華區:因為在For 迴圈 題目這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者Frodera (臼魔導士)看板C_and_CPP標題[問題] 看不太懂這個程式(新手問題) f...

For 迴圈 題目 在 歪歪 Instagram 的精選貼文

2021-08-02 19:04:29

/「大一必修」 這都是我們學校的大一必修,每個學校的課程內容、難度都不一定,所以大家參考就好🥸,準確的資訊還是建議上dcard校版詢問,或者是等友直屬學長姊後再詢問他們哦!如果有興趣也可以用課程後面的英文去搜尋,應該是可以找到不少的資源以及原文課本,可以稍微先預習看看(我本人是沒有預習啦,暑假還...


新手上路...請鞭小力一點...


*試撰寫一程式,利用for迴圈計算1平方-2平方+3平方-4平方+...+49平方-50平方的值
抱歉我打不出平方只好用國字表示orz

這是上課的時候老師要我們練習的課本習題...
可是我一直沒有寫成功 還被打了鳥成績

想自己寫卻老是失敗,看解答又看不懂(下面有附錄)
雖然這不是作業但我不甘心所以...(掩面)


問學校助教,他跟我說叫我用偶數奇數方式來想
我就寫了這樣的東西...↓
當然答案完全不對...orz



#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
int i,sum=0;

for (i=1;i<=50;i++)
{
if (i/2==0)
sum=i^i^(-1); //如i為偶數為true,設sum為i平方x(-1)

if (i/2!=0)
sum=i^i; //如i為偶數為false,設sum為i平方
}

sum+=i; //這一行我還是不太懂它的意思,是從範例題目上抄下來的

printf("ans=%d",sum);


system("pause");
return 0;
}













課本附上的答案長這樣↓


#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int i,j,sum=0;

for(i=1,j=2;i<=49;i+=2,j+=2) //這個地方我非常的看不懂QAQ
sum+=i*i-j*j; //這個sum+=的部分我也不太能理解他的涵義

printf("1^2-2^2+3^2-4^2+...+49^2-50^2=%d\n",sum);

system("pause");
return 0;
}


這兩天我一直在看這題
我一直搞不懂 他的for迴圈為什麼是這樣設定
題目明明就是寫到50不是嗎??

還是我數學不好所以看不懂...orz


雖然課本的範例題目我都做了
一碰到這種需要思考的題目我就會卡住...

還請各位多多指教orz

--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.41.86.118
VictorTom:^ 在C/C++裡是XOR的意思, 不是幾次方的意思, 你要寫平方 10/19 21:56
VictorTom:有教#define的話就用#define寫一個, 沒教就乖乖算i*i. 10/19 21:57
VictorTom:另外, ^(-1) 這個應該是連數學邏輯都錯了, 是*(-1)吧?? 10/19 21:58
VictorTom:a += b 就是 a = a + b 的意思, 你自己的code裡判斷奇偶 10/19 21:59
Frodera:謝謝 我已經把^改成*了!!!雖然答案還是不對...orz 10/19 21:59
VictorTom:數後就直接assign給sum也不太對, 應該用 += 把結果'加' 10/19 22:00
VictorTom:進sum裡. 看你原來的code其實已經七七八八了, 先搞定自 10/19 22:00
conan77420:冪次沒記錯的話是pow(x,y)吧~ 0.0 10/19 22:00
VictorTom:己的版本吧; 課本的code當然有時間也把它看懂最好, 但是 10/19 22:00
VictorTom:一碼歸一碼, 你的code快完成了, 有點信心寫好它來:) 10/19 22:01
VictorTom:他的case還不必用pow()去算....@_@" 10/19 22:01
Frodera:好的,謝謝!!我再去試驗一下!! 10/19 22:01
VictorTom:不過如果不是平方, 是任意(含小數)的a的b次方就要用 10/19 22:02
VictorTom:pow()了....XD 10/19 22:02
Frodera:sorry冪次似乎我還沒有學到...=D=""" 10/19 22:02
VictorTom:我忘了一個一方, i/2這樣可沒辦法判斷是不是奇偶數喔!! 10/19 22:07
VictorTom:奇偶數, 就是判斷一個數是不是2的倍數, 它用的operator 10/19 22:08
VictorTom:不是 / , 是什麼請想一想或查書, 不然小弟我覺得您似乎 10/19 22:08
VictorTom:有些operator沒有搞清楚是在做什麼的喔^^|| 10/19 22:09
conan77420:沒仔細看文XD V大真是好人,常看到在服務版友~ 10/19 22:16
VictorTom:pu~~因為什麼都不會, 所以只好多來看看學習啊....XD 10/19 22:20
Frodera:咦???除二等於零不就是偶數嗎??@@ 10/19 22:27
Frodera:呃的確我目前還搞不太清楚狀況...我第一次接觸程式語言orz 10/19 22:28
VictorTom:1. 一個(正)整數除以二的"??"為零時才是偶數....?? 10/19 22:33
VictorTom:2. 順便一題, C/C++裡, 數值運算要考慮其型態, 新手容易 10/19 22:34
VictorTom: 撞到一個問題是: 整數 除以 整數 結果還是只有 整數 10/19 22:34
VictorTom: 也就是, int i=3/2; a值為1. float f=3/2; f值為1.0. 10/19 22:35
VictorTom:如果浮點數還沒學到就別管2.了, 再想一想第1.點吧:) 10/19 22:36
Frodera:唔唔...原來如此orz似乎有點懂了...真的很感謝指導 10/19 22:42
Frodera:所以用求餘數(%)的方式去算才是對的...@@ 10/19 23:27
VictorTom:mm~~你得到它了:) 10/19 23:35

你可能也想看看

搜尋相關網站