小弟有一個題目是:
利用while迴圈計算2+4+6+....+n的總合,其中n要是正偶數,
可由本身自行輸入,若輸入的值不是正偶數,則程式會要求在輸入,直到為正偶數為止...
小弟打的程式如下:
#include<stdio.h>
#include<stdlib.h>
int main(void)
{
int sum=0,i=0,n;
printf("請輸入一個整數:");
scanf("%d",&n);
while(n%2!=0)
{
sum+=i;
printf("2+4+6+...+%d=%d",n,sum);
}
system("pause");
return 0;
}
因為才剛學沒多久,實在想不出來...所以只好求助01的大大,謝謝...
他還有另外一個寫法是用do while的,大大們可以順便教小弟一下嗎?
不知道流程圖這麼劃就看書
把你想要做的東西 晝出來就可以明確的知道那裡有問題
在依圖的流程寫出你的程式 就可以了
對任何的事不要帶入自己的情感,對自己的事當作別人的事來看待,這樣就可以很理性的把問題解決
給個機會吧....又不是之前有人連想都沒想就直接上來問答案的....
大家都是這樣從錯誤中進步的...有心要學...要多鼓勵一下
雖然我很討厭幫人寫程式...C也好久沒寫這種了...
#include<stdio.h>
#include<stdlib.h>
int main(void) /*int也可用void 因為這個main function無傳回值 */
{
int sum=0, i=0, n;
printf("請輸入一個整數:");
scanf("%d",&n);
if(n>0 && n%2 ==0) /*先判斷n是否為"正","偶數",兩個需同時成立*/
{
for(i=2; i < n; i=i+2) /*i從2開始,每次加2,累加到sum*/
{
sum=sum+i; /*初學者會比較建議用這樣的語法,畢竟自己要先懂得其中流程跟邏輯*/
printf("%d+",i);
}
printf("%d = %d", n, sum+n);
}
system("pause");
return 0;
}
很久沒寫了,懶得編譯....大概是這樣吧....不知道有沒有error
還有很多種寫法,主要是根據個人邏輯,由繁化簡,然後一步步的再逆推
平常多做些練習,習慣後就會寫的很順了。
判斷式是判斷輸入是否為正偶數
迴圈是控制你輸入的數字遞減2然後相加
你看看你寫的這個, 沒有判斷輸入是否為正偶數就急著列印
如果你輸入了一個奇數, 他會不斷的列印下面這一行
2+4+6+...+你輸入的基數 =0
如果你輸入的是偶數,就什麼事也沒發生
我建議你阿,自己推一下,鈀所有的可能都要想過一次, 輸入什麼,輸出會變怎樣
int sum=0,i,n=1;
//下面是判斷是否為正偶數,如果不是就不斷的輸入直到是為止
while (n%2 != 0) {
scanf("%d",&n);
}
//下面是把他的數值遞減2加起來.
for (i=n; i>0;) {
sum+=i;
i-=2;
}
//下面是結果印出來
printf(.......你自己揣測吧..............
麥問阮耶名,叫阮第一名..
#include<stdlib.h>
int main(void)
{
int sum=0,i=0,n;
printf("請輸入一個整數:");
scanf("%d",&n);
while(1)
{
if(n%2==0)
{
sum+=n;
printf("2+4+6+...+%d=%d",n,sum);
}
else
printf("請輸入一個正偶數\n");
scanf("%d",&n);
}
system("pause");
return 0;
}
小弟目前做出來是可以判斷了...
只是加總的和會有問題...@@"
黑夜將城市籠罩,想念蔓延在細胞。想妳的擁抱,妳的微笑,想到快要瘋掉,愛妳到莫名其妙,上了癮無可救藥。
對我而這,流程圖只是內行人用來騙外行人用的,或是讓我們這些coder浪費時間在圖紙上用的.
一個沒邏輯觀念的人,叫他畫流程恐怕只會跟寫出來的code一樣差.
要訓練程式邏輯能力,應該從模擬和預測開始.
也就是用腦袋去想像每一行的input和output的關係.
然後可以配合single step去看每一步在執行後是否和預測的相同.
不同就加以修正.
樓主我看只學了幾天而己...應該還是只會copy書上的東西到程式裡而己.
不急的話,把demo code key一key,執行我所說的模擬和預測.
去看看你想像中的input和output是否跟程式相同.
最後就是創造力了
另外,樓主的debug能力也很欠缺.
網友們也沒事別寫demo上來...
原因為減少了樓主思考的能力...再則,專業的coder很貴的.怎麼沒付出代價就取得成果呢?
給魚吃不如教他釣魚.
總體來說,就是要思考...
話說回來,樓主要是覺得自己沒天份,早點放棄為佳. coder的日子可不是那麼好過啊...
longyeekimo wrote:
說真的,非常不認同用...(恕刪)
我以前曾經考上淡江資工。
可是我卻是到了大學才開始接觸電腦,對於程式我是完全不懂。
自己一直寫,卻總是無法執行出正確的程式。
連照著書上的範例打都出現一堆error
當時一直都是自己摸索,想請教老師還找不到人呢。
所以我只念了一學期就被1/2退學了。
後來才看別人寫出來確定正確可執行的程式,一步步的去改,去瞭解每一句指令所要做的是什麼。
現在我在設備業寫機台程式,主要是用VC++。
公司的前輩也很照顧我,總是會一起討論程式要怎麼設計,或是一起制訂公用規範。
倒不是教不教的問題,而是看對方學習的態度。
每個人的理解狀況都不一樣,給人個機會並不為過。
內文搜尋

X