annn
2007-06-22 11:15:18 UTC
以下是我的程式黨
應該直接貼入JBuilder or 類似的程式就可以run
空很大的地方是我的問題處
就是我這樣算出來的答案阿
會是每一行的的第一個數字*0.3+第二個數字*0.3+第三個數字*0.4
可是他會第一個數字乘完0.3先無條件捨去ㄝ
第二和第三個數字也一樣
請問我要怎麼改才能讓每個數字先不要無條件捨去
全部乘完再加總完再來四捨五入阿?
請問可以在這邊問嗎 還是我該去哪邊問呢?
public class ex{
public static void main(String arg[]) {
int len=7, dat[][]=new int[len][3], avg[]=new int[len];
for (int i=0; i<len; i++) {
for (int j=0; j<3; j++)
avg[i]+=(dat[i][j]=(int)(10+Math.random()*(95-10)));
avg[i]=dat[i][0]*3/10+dat[i][1]*3/10+dat[i][2]*4/10;
}
int idx[]=sort(avg);
for (int i=0; i<len; i++) {
System.out.print("\n"+(1+idx[i])+": ");
for (int j=0; j<3; j++)
System.out.print("\t"+dat[idx[i]][j]);
System.out.print("\tavg= "+avg[idx[i]]+"");
} System.out.print("\n");
for (int i=0; i<len; i++) {
System.out.print("\n"+(1+i)+": ");
for (int j=0; j<3; j++)
System.out.print("\t"+dat[i][j]);
System.out.print("\tavg= "+avg[i]);
}
} //========//
public static int[] sort(int d[]) {
int n[]=new int[d.length];
for (int i=0; i<d.length; i++) n[i]=i;
for (int i=0; i<d.length; i++)
for (int j=0; j<d.length-1; j++)
if (d[n[j]]>d[n[j+1]])
{ int tmp=n[j]; n[j]=n[j+1]; n[j+1]=tmp; }
return n;
} //========//
} /**** end_of_class ****/
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 163.25.118.153
應該直接貼入JBuilder or 類似的程式就可以run
空很大的地方是我的問題處
就是我這樣算出來的答案阿
會是每一行的的第一個數字*0.3+第二個數字*0.3+第三個數字*0.4
可是他會第一個數字乘完0.3先無條件捨去ㄝ
第二和第三個數字也一樣
請問我要怎麼改才能讓每個數字先不要無條件捨去
全部乘完再加總完再來四捨五入阿?
請問可以在這邊問嗎 還是我該去哪邊問呢?
public class ex{
public static void main(String arg[]) {
int len=7, dat[][]=new int[len][3], avg[]=new int[len];
for (int i=0; i<len; i++) {
for (int j=0; j<3; j++)
avg[i]+=(dat[i][j]=(int)(10+Math.random()*(95-10)));
avg[i]=dat[i][0]*3/10+dat[i][1]*3/10+dat[i][2]*4/10;
}
int idx[]=sort(avg);
for (int i=0; i<len; i++) {
System.out.print("\n"+(1+idx[i])+": ");
for (int j=0; j<3; j++)
System.out.print("\t"+dat[idx[i]][j]);
System.out.print("\tavg= "+avg[idx[i]]+"");
} System.out.print("\n");
for (int i=0; i<len; i++) {
System.out.print("\n"+(1+i)+": ");
for (int j=0; j<3; j++)
System.out.print("\t"+dat[i][j]);
System.out.print("\tavg= "+avg[i]);
}
} //========//
public static int[] sort(int d[]) {
int n[]=new int[d.length];
for (int i=0; i<d.length; i++) n[i]=i;
for (int i=0; i<d.length; i++)
for (int j=0; j<d.length-1; j++)
if (d[n[j]]>d[n[j+1]])
{ int tmp=n[j]; n[j]=n[j+1]; n[j+1]=tmp; }
return n;
} //========//
} /**** end_of_class ****/
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 163.25.118.153