廣告廣告
  加入我的最愛 設為首頁 風格修改
首頁 首尾
 手機版   訂閱   地圖  簡體 
您是第 2281 個閱讀者
 
發表文章 發表投票 回覆文章
  可列印版   加為IE收藏   收藏主題   上一主題 | 下一主題   
terryshao
數位造型
個人文章 個人相簿 個人日記 個人地圖
初露鋒芒
級別: 初露鋒芒 該用戶目前不上站
推文 x1 鮮花 x72
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片
推文 x0
[C/C++] TC問題二:陣列
#include <stdlib.h>
#include <stdio.h>
#define ROWS 10 /* number of rows in array */
#define COLUMNS 2 /* number of columns in array */

void main()
{
float agents ;
char strtmp ;
int index=0, outdex ;

printf("Enter 3-digit agent numbers,\n") ;
printf("then travel expenses (007 1642.50)\n") ;
printf("Enter 0 0 to quit.\n") ;

do /* get list of agents and expenses */
{
printf("Agent's number and expense: ");
scanf("%f %f", &agents, &agents);
}
while ( agents != 0 ) ;

for (outdex=0; outdex<index-1; o ..

訪客只能看到部份內容,免費 加入會員 或由臉書 Google 可以看到全部內容




獻花 x0 回到頂端 [樓 主] From:台灣中華電信 | Posted:2006-04-08 03:40 |
gamewalk
數位造型
個人文章 個人相簿 個人日記 個人地圖
初露鋒芒
級別: 初露鋒芒 該用戶目前不上站
推文 x0 鮮花 x18
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

1. 第一個紅色部分 outdex<index-1 這裡我的看法是 他結束的時候 輸入的次數剛好會多一 因為他每做一次都在前面那個while裡面用index++ 所以最後輸入0,0那一次要減掉....

2. 第二個紅色部分 size-- 意思跟第一個紅色部分一樣也是剪掉最後那一個都為0值的那一列(不過我在想他為什麼不用size=size-1,這樣不是比較不會誤會嗎? ~"~)

3.至於最後一個紅色部分,他的方法沒錯這是找最大值的一種做法,先假設一個最大值把他取出來跟所有陣列內的元素做比較,如果找到比他大的就把他替換掉....最後整個陣列元素比完以後max就是最大值了...

希望這樣有回答到你的問題...


獻花 x0 回到頂端 [1 樓] From:台灣永大數位動力公司 | Posted:2006-04-08 11:46 |
terryshao
數位造型
個人文章 個人相簿 個人日記 個人地圖
初露鋒芒
級別: 初露鋒芒 該用戶目前不上站
推文 x1 鮮花 x72
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

那只是要帶入次數而不是實際數值囉??
那這樣一來我大致上瞭解了...感謝
不過...假設那部分我還要多研究一下...因為不是很了解整個判斷過程

還是大大可以解釋一下那部份呢?
我的意思是說解釋一下他寫下來的流程


獻花 x0 回到頂端 [2 樓] From:台灣中華電信 | Posted:2006-04-08 14:27 |
gamewalk
數位造型
個人文章 個人相簿 個人日記 個人地圖
初露鋒芒
級別: 初露鋒芒 該用戶目前不上站
推文 x0 鮮花 x18
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

我不太懂你要我解釋什麼是指for迴圈那邊的流程嗎?(我覺得那邊不太需要講解,for迴圈就是那個樣子阿~"~,而且剛開始學程式應該都會先教你怎麼用這些東西)...如果你是新手的話建議你先把那一部分的 for迴圈 跟 if判斷式 搞懂,網路上用 google 找一找應該有吧,不過也要確定是你那種語言的不然有些其他語言也有類似的迴圈反而會讓你產生混淆,等你了解那些東西以後最後在回來看這個程式吧...

for (dex=1; dex<size2; dex++)
{
  if ( max < list2[dex] )
  {
  max = list2[dex] ;
  }
}

真的要我講的話大概就是這樣吧,我這裡 ' : ' 是兩個值比較的意思
max : list2[1]     如果 max < list2[1] ,則max用list2[1]的值帶入,如果 max > list2[1]就不做任何事
max : list2[2]     (其他依此類推)
    .
    .
    .
max : list2[size2-1]


[ 此文章被gamewalk在2006-04-09 02:53重新編輯 ]


獻花 x0 回到頂端 [3 樓] From:台灣永大數位動力公司 | Posted:2006-04-09 02:25 |
terryshao
數位造型
個人文章 個人相簿 個人日記 個人地圖
初露鋒芒
級別: 初露鋒芒 該用戶目前不上站
推文 x1 鮮花 x72
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

大大可能誤會了...IF跟FOR的用法我看了很多遍...我懂怎麼用
只是想知道作者在寫的時候為什麼要這樣寫
因為感覺寫的很簡短...屬於老手在寫的判斷式....
其實我在看書的同時...比較希望是寫的很攏長...但是看的很明白
不知道還有沒有別種寫法


獻花 x0 回到頂端 [4 樓] From:台灣中華電信 | Posted:2006-04-09 09:56 |
gamewalk
數位造型
個人文章 個人相簿 個人日記 個人地圖
初露鋒芒
級別: 初露鋒芒 該用戶目前不上站
推文 x0 鮮花 x18
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

抱歉那是我誤會了..好吧..我想這個寫法要在詳細的話大概也只是加一些註解在旁邊或者是把else也給他寫出來在多一些註解....
解說:
我先假設List陣列裡面有5個值好了,依序是 25 , 12 , 14 , 47 ,30
一開始先定一個最大值,取第一個是因為方便再加上照流程的順序也比較好做MAX=List2[0],也就MAX=25

次數   MAX   List[0]   List[1]   List[2]   List[3]   List[4]
  1   25     25     *12     14     47     30   (因為25>12,所以MAX值還是25)
  2   25     25     12     *14     47     30   (因為25>14,所以MAX值還是25)
  3   25     25     12     14     *47     30   (因為25<47,所以MAX就換成47)
  4   47     25     12     14     47     *30   (因為47>30,所以MAX值還是47)
最後最大值就是47,' * ' 是目前跟MAX比的那個數值...
這張表可能沒有對的很齊(我用txt編輯的可是放上來就歪掉了,如果真的太亂就複製到txt看吧,應該可以),但是大概也可以知道個順序


獻花 x0 回到頂端 [5 樓] From:台灣永大數位動力公司 | Posted:2006-04-09 15:04 |

首頁  發表文章 發表投票 回覆文章
Powered by PHPWind v1.3.6
Copyright © 2003-04 PHPWind
Processed in 0.055623 second(s),query:16 Gzip disabled
本站由 瀛睿律師事務所 擔任常年法律顧問 | 免責聲明 | 本網站已依台灣網站內容分級規定處理 | 連絡我們 | 訪客留言