[問題] 關於我寫的迴圈疑問
看板C_and_CPP (C/C++)作者povertytrap (povertytrap)時間12年前 (2014/01/27 20:14)推噓1(1推 0噓 6→)留言7則, 2人參與討論串1/1
各位大大好
我想請問一下 我目前在寫這一題題目
寫一個叫做 count( )的函式,此函式有2 個參數,一個是整數陣列score,另
一個是代表陣列大小的整數 size。假設 score 陣列的所有元素都有整數值,此函式將計算
陣列內有多少個不同的數值,並將其傳回。
這是我的程式碼
#include <stdio.h>
#include <stdlib.h>
void main(void) {
int count(int*, int);
int list[]={10, 20, 30, 40, 50, 60, 10, 10, 20, 40};
int result;
result = count(list, 10);
printf(" 一共有 %d 個不同的整數\n ", result);
}
int count(int list[], int size) {
int result=1;
int i, j;
if ( size == 0 )
result = 0;
for ( i= 1; i < size; i++ ) {
for ( j=0; j<i; j++ )
if ( list[j] == list[i])
break;
if ( j == i )
result += 1;
}
return result;
}
這是解答的程式碼
#include <stdio.h>
#include <stdlib.h>
#define SIZE 10
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
int count (int score[],int size){
int i,j,diffNum=0;
for(i=0;i<size;i++){
for(j=0;j<i;j++){
if(score[j]==score[i])
break;
}
if(j==i)
diffNum++;
}
return diffNum;
}
int main(void) {
int score[SIZE]={10,20,40,20,50,10,60,30,10,10};
printf("%d\n",count(score,SIZE));
return 0;
}
兩個答案都對
可是解答版本的for迴圈
一開始j=0就不符合j<i的條件了阿
這樣怎麼可以跑?答案為甚麼也對....
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.170.70.9
推
01/27 20:18, , 1F
01/27 20:18, 1F
→
01/27 20:19, , 2F
01/27 20:19, 2F
→
01/27 20:20, , 3F
01/27 20:20, 3F
→
01/27 20:22, , 4F
01/27 20:22, 4F
→
01/27 21:11, , 5F
01/27 21:11, 5F
→
01/27 21:12, , 6F
01/27 21:12, 6F
→
01/27 21:20, , 7F
01/27 21:20, 7F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章