[問題] 浮點數陣列與比較大小
使用的是Dev C
題目要使用者輸入浮點數或整數
假如輸入值為0或負數則結束
然後顯示最大的數
Enter a number :60
Enter a number :38.3
Enter a number :4.89
Enter a number :100.62
Enter a number :75.2295
Enter a number : 0
The largest number entered was 100.62
-----------------
以下是我的CODE
#include <stdio.h>
int main()
{
float array[100]; //array 用來儲存所輸入的數字 最多可輸入101個
float temp;
int i=0,j=0;
while(1) //使用者輸入 判斷所輸入值=0 或 為負數時則停止
{
scanf("%f",&array[i]);
if(array[i]==0||array[i]<0)
break;
i++;
}
temp=array[0]; //令temp為array[0]
for(j=0;j<i;j++) // 比大小 如果temp比陣列的下一個數字大 則 temp換
{
if(temp<array[j])
temp=array[j];
}
printf("%f",temp);
system("PAUSE");
return 0;
}
--------------------------
我的問題是
當我照題目輸入測資
我顯示的會是100.620003
輸入其他的浮點數有的也是 會在後面多出個或少了0.0000x之類的
想請問問題是在哪裡呢
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.168.131.145
※ 編輯: khungd2 來自: 218.168.131.145 (11/09 01:27)
→
11/09 01:30, , 1F
11/09 01:30, 1F
→
11/09 01:30, , 2F
11/09 01:30, 2F
→
11/09 01:32, , 3F
11/09 01:32, 3F
推
11/09 01:33, , 4F
11/09 01:33, 4F
→
11/09 01:34, , 5F
11/09 01:34, 5F