第三章:
1、编程求1000以内的水仙花数,水仙花数是三位数,它的各位数字的立方和等于这个数本身。
2、编程求10000以内的完全数,完全数是等于其所有因子和(包括1但不包括这个数本身)的数。如6=1+2+3
答案:
//整数排序
import java.util.Scanner;
public class sort {
public static void main(String[] args) {
// TODO Auto-generated method stub
int a[]=new int[10];
Scanner input=new Scanner(System.in);
System.out.println("请输入10个整数:");
for(int i=0;i
}
for(int j=0;j
for(int k=j+1;k
int t=a[j];
a[j]=a[k];
a[k]=t;
}
}
}
System.out.print("\n排序后从小到大依次为: ");
for(int i=0;i
}
}
}
//求水仙花数
public class Narcissus
{
public static void main(String args[])
{
int i,j,k,n=100,m=1;
while(n<1000)
{
i = n/100;
j = (n-i*100)/10;
k = n%10;
if((Math.pow(i,3) + Math.pow(j,3) + Math.pow(k,3)) == n)
System.out.println("找到第"+ m++ + "个水仙花数:" + n);
n++;
}
}
}
//求完全数
public class PerFectNum
{
public static void main(String args[])
{ for(int i =1;i<10000;i++)
{
int y=0;
for(int j=1;jif(y == i)
{ System.out.print(i+"\t");
}
}
}
}
public class A3_2 {
public static void main(String args[]){
int grades[]={76,89,90,67,68,78,89,87,96,92};
int sum=0,max=0,min=0;
double average=0.0;
max=grades[0];
min=grades[0];
for(int i=0;i
if(max
}
average=sum/10.0;
int a[]=new int[5];
for(int j=0;j
if(grades[j]>=60&&grades[j]<70) a[1]++;
if(grades[j]>=70&&grades[j]<80) a[2]++;
if(grades[j]>=80&&grades[j]<90) a[3]++;
if(grades[j]>=90&&grades[j]<=100) a[4]++;
}
System.out.println("平均成绩为"+average);
System.out.println("最高成绩为"+max);
System.out.println("最低成绩为"+min);
System.out.println("不及格的分布率为:"+a[0]/10.0);
System.out.println("及格的分布率为:"+a[1]/10.0);
System.out.println("中等的分布率为:"+a[2]/10.0);
System.out.println("良好的分布率为:"+a[3]/10.0);
System.out.println("优秀的分布率为:"+a[4]/10.0);
}
}
public class A3_3 {
public static void main(String[] args) {
// TODO Auto-generated method stub
int m=0;
int a[]=new int[7];
Random r=new Random();
for(int i=1;i<=6000;i++){
m=1+r.nextInt(6);
a[m]++;
}
for(int j=1;j<=6;j++){
System.out.println("数字"+j+"出现的概率为"+a[j]/6000.0);
}
}
}
import java.util.*;
public class A3_4 {
public static void main(String[] args) {
Random r=new Random();
int a=0,b=0,c=0,d=0;
a=1+r.nextInt(6);
b=1+r.nextInt(6);
c=a+b;
switch(c){
case 7:
case 11:System.out.print("你赢了"+c);break;
case 2:
case 3:
case 12:System.out.print("你输了"+c);break;
default:{
do{
a=1+r.nextInt(6);
b=1+r.nextInt(6);
d=a+b;
if(d==7){System.out.print("你输了"+d);break;}
}while(d==c);
if(d!=7)System.out.print("你赢了"+c);
}
}
}
}