引用 | 編輯
csr
2011-03-12 07:48 |
樓主
▼ |
||
x0
大大們小弟用for,while,寫都沒問題 但是要使用do while就是會造成迴圈或寫不出來 不知小弟那裡有錯 可否麻煩大大們幫小弟修改 否則都快瘋了 以下是程式碼 謝謝 #include<stdio. .. 訪客只能看到部份內容,免費 加入會員 x0
|
引用 | 編輯
星辰雪
2011-03-13 21:03 |
1樓
▲ ▼ |
我修改了一下
但是不知道 你要的答案 是如何 你先看一下吧 複製程式 #include<stdio.h> #include<stdlib.h> int main(void) { int i=0,j=0; do { do { if((i+j)%2==0) printf("%c",2); else printf("%c",1); i++; }while(i<=10); printf("\n"); j++; }while(j<=10); system("pause"); return 0; } 建議一下 貼程式碼最好是用 >>>> 插入代碼<<<< 這功能比較好 還有程式碼 需要排版一下.... 可以參考一下 這個網站 程式語言教學誌 x1 |
引用 | 編輯
csr
2011-03-14 08:56 |
2樓
▲ ▼ |
小弟現無法詳細跟大大回答
等晚上有空再看程式跑的怎樣 大大提供的這個網站小弟已經有拜訪過 (可以參考一下 這個網站 程式語言教學誌 ) 但是還是寫不出來 所以才跟大大討救兵 謝謝 x0 |
引用 | 編輯
totsi
2011-03-14 10:42 |
3樓
▲ ▼ |
一樓的解法有改掉迴圈不會結束的問題。
不過在i <= 10的時候,會第一行印出11個圖形。 之後當i >10以後,每換一行ˊ只會印出1個圖形。 建議if..else還是使用"{","}"包起來,不然底下的i++不曉得是條件成立才加,還是每次都加。 如果是要每行都有11個圖形的話,可以像底下的作法。 (只貼do裡面的,其他不變的就不貼了) 複製程式 do { i = 0; do { if((i+j)%2==0) { printf("%c",2); }else{ printf("%c",1); } i++; }while(i<=10); printf("\n"); j++; }while(j<=10); 不過我比較好奇的是,樓主為什麼要在第一個do..while裡面把j也設為0? 題外話,樓主的閏年問題,已經有附專案到在下回覆的主題內。所以有空可以去看看。在下是用vs2005,所以如果vs2010不能編譯的話,設定部分可能就要麻煩樓主去找一下嚕。 裡面用到的都是vc++內建的東西,所以應該是不用改設定才對。 圖 1. Result x2 |
引用 | 編輯
csr
2011-03-14 15:23 |
4樓
▲ ▼ |
下面是引用 totsi 於 2011-03-14 10:42 發表的 : 大大您好 小弟用dev c++編譯後怎麼會只有一行 而不是大大所得的結果圖 以下是小弟加上大大的改正編碼是否可請大大再幫小弟的程式看看 到底是那裡小弟放錯地方了 謝謝 #include<stdio.h> #include<stdlib.h> int main(void) { int i,j; do { i = 0; do { if((i+j)%2==0) { printf("%c",2); }else{ printf("%c",1); } i++; }while(i<=10); printf("\n"); j++; }while(j<=10); system("pause"); return 0; } x0 |
引用 | 編輯
星辰雪
2011-03-14 16:45 |
5樓
▲ ▼ |
複製程式
#include<stdio.h> #include<stdlib.h> int main(void) { int i=0,j=0; // 這邊要設定成0... // do { i = 0; do { if((i+j)%2==0) { printf("%c",2); }else{ printf("%c",1); } i++; }while(i<=10); printf("\n"); j++; }while(j<=10); system("pause"); return 0; x2 |
引用 | 編輯
totsi
2011-03-14 16:53 |
6樓
▲ ▼ |
誠如同星辰雪大大所言~
用來作計算數量的變數,一定要歸零。 所以養成好習慣就是,每當有變數宣告,就要將他進行初始化。 避免使用到的時候,忘記設定,就會出現問題了。 x1 |