Re: [問題] 一個迴圈內的問題~
※ 引述《asb ((  ̄ c ̄)y▂ξ)》之銘言:
: int isin(int nums[], int length, int key)
: {
: int i;
: for (i=0;i<length;i++)
: {
: if (nums[i]==key)
: return (1);
: }
: return (0);
: }
: 這程式的意思是在陣列中尋找一個數字,若該數字存在於陣列則傳回1,否則傳回0。
: 如 nums1[]={3,5,3,2453,-7,0};
: isin(nums1,6,-7);
: 其結果為1
: 以上這個程式我看的懂~
: ------------------------------------------------
: void printonce(int nums[], int length)
: {
: int i,j;
for (i=1;i<=length;i++) //但從以下這程式~我完全想不出過程
//尋找數字陣列同第一位收開始搜尋起
: {
for (j=0;j<i;j++) // 重點在"j<i" 代表在搜尋每一個數字,
// 都會再從頭比對起,
// 一直比對到前一位數字,
// 例如要決定是否列出第三個,再重新比對第1~2個數
// 決定是否要列出第五個數字,會先重新比對第1~4個數
// 以此類推
if (isin(nums, i-1, nums[j])==0)
// 回傳值為0代表該數字沒有與之前重覆到, 所以為true,
// 印出來吧!
: printf("%d\n",nums[j]);
: }
: }
: 這題目主要是找出陣列中的所有數字列印出來,但限制是重覆出現的數字只能出現一次
: 例如:
: nums1[]={3,5,3,2453,-7,0},
: printonce(nums1,6);
: 其結果為
: 3
: 5
: 2453
: -7
: 0
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.217.110.243
討論串 (同標題文章)
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章