1、輸出1 1 2 3 5 8 13……這樣的Fibonacci數列,輸出該數列的前20個數字。
實作思路:數字的規律是除了數列裡的前兩個數字以外,其它的數字都滿足該數字等于前兩個數字的和,由于題目要求輸出前20個數字,是以需要一個長度為20的數組,第一個和第二個數字直接指派,後續的數字通過前兩個數字元素得到。
class Fib
{
public static void main(String args[])
{
int [] a=new int[20];
int i=0;
for(i=0;i<20;i++)
{
if(i==0||i==1)
a[i]=1;
else
a[i]=a[i-1]+a[i-2];
System.out.print(a[i]+" ");
}
}
}
2、歌手打分:在歌唱比賽中,共有10位評委進行打分,在計算歌手得分時,去掉一個最高分,去掉一個最低分,然後剩餘的8位評委的分數進行平均,就是該選手的最終得分。輸入每個評委的評分,求某選手的得分。
實作思路:求出數組元素的最大值、最小值以及和,然後使用和減去最大值和最小值,然後除以8獲得得分。
class Score
{
public static void main(String args[])
{
int max,min,s=0,i=0;
float aver;
int[] a;
a=new int[10];
for(i=0;i<10;i++)
a[i]=Integer.parseInt(args[i]);
for(i=0;i<10;i++) //求和
s+=a[i];
max=a[0];
for(i=1;i<10;i++) //求最大值
if(a[i]>max)
max=a[i];
min=a[0];
for(i=1;i<10;i++) //求最小值
if(a[i]<min)
min=a[i];
aver=(s-max-min)/8.0f;
System.out.println("這位歌手的平均分是:"+aver);
}
}
3、判斷一個數組{1,2,3,1,0}中是否存在相同的元素,如果存在相同的元素則輸出“重複”,否則輸出“不重複”。
實作思路:假設數組中的元素不重複,兩兩比較數組中的元素,使用數組中的第一個元素和後續所有元素比較,接着使用數組中的第二個元素和後續元素比較,依次類推實作兩兩比較,如果有一組元素相同,則數組中存儲重複,結束循環。把比較的結果存儲在一個标志變量裡,最後判斷标志變量的值即可。
class Repeat
{
public static void main(String args[])
{
int [] a={1,2,3,1,0};
int i,j;
boolean p=false; //利用boolean類型,書寫簡單
for(i=0;i<a.length-1;i++)
for(j=i+1;j<a.length;j++)
{
if(a[i]==a[j])
{p=true;
break;}
}
if(p==true)
System.out.println("重複");
else
System.out.println("不重複");
}
}
class Repeat
{
public static void main(String args[])
{
int [] a={1,2,3,4,0};
int i,j;
for(i=0;i<a.length-1;i++)
for(j=i+1;j<a.length;j++)
{
if(a[i]==a[j])
{System.out.println("重複");
return;}
}
if(i==a.length-1)
System.out.println("不重複");
}
}
4、将十進制整數35轉換為二進制數。
實作思路:将除二取餘得到的第一個數字存儲在數組中第一個元素,第二次得到的餘數存儲在數組中第二個元素,依次類推,最後反向輸出獲得的數字即可。
class DtoB
{
public static void main(String args[])
{
int x=35;
int a[]=new int[32];
for(int i=0;i<32;i++)
{
a[i]=x%2;
x/=2;
}
for(int i=a.length-1;i>=0;i--)
System.out.print(a[i]);
}
}
轉自:http://jingyan.baidu.com/article/a948d6515e81800a2ccd2e5b.html