SCAU-《Java程序设计基础》第四章习题

1.将学生的学习成绩按不同的分数段分为优、良、中、及格和不及格五个等级,从键盘上输入一个0~100之间的成绩,输出相应的等级。要求用switch语句实现。

import java.util.*;
public class score
{
	public static void main(String[] args)
	{
		int s;
		Scanner reader = new Scanner(System.in);
		System.out.print("请输入成绩:");
		s=reader.nextInt();
		switch(s/10)
		{
			case 10:
			case 9:
			  System.out.println("优");break;
			case 8:
			  System.out.println("良");break;
			case 7:
			  System.out.println("中");break;
			case 6:
			  System.out.println("及");break;
			default:
			  System.out.println("不及格");  
		}
	}
}

2.设学生的学习成绩按如下的分数段评定位四个等级:85~ 100为A,70~ 84为B,60~ 69为C,0~ 59为D。从键盘上输入一个0~100之间的成绩,要求用switch语句根据成绩,评定并输出相应的等级。

import java.util.*;
public class score2
{
     public static void main(String[] args)
	 { 
            double score; 
			int s;
			Scanner reader = new Scanner(System.in);
            System.out.print("输入成绩:"); 
            score=reader.nextDouble();
			s=(int)score/10;
			switch(s)
			{
				case 10:
				case 9:System.out.println("等级为A"); break;
				case 8:
				   if(score>=85)
				   {System.out.println("等级为A"); break;}
				   else
				   {System.out.println("等级为B"); break;}
				case 7:System.out.println("等级为B"); break;
				case 6:System.out.println("等级为C"); break;
				default:System.out.println("等级为D"); 
			}
    }
}

3.从键盘输一个1-100之间的整数,然后判断该数是否既可以被3整除又可以被7整除。

import java.util.*;
public class division
{
	public static void main(String[] args)
	{
		int s;
		Scanner reader = new Scanner(System.in);
		System.out.print("请输入1到100的整数,可判断是否可被3和7整除:");
		s=reader.nextInt();
		if(s%3==0&&s%7==0)
			System.out.println("可以");
		else
			System.out.println("不可以");
		
	}
}

4.输入n,计算并输出1!+2!+…+n!的结果。

import java.util.*;
public class SumFactorial
{
	public static void main(String[] args)
	{
		int n,s;
		int sum=0;
		Scanner reader = new Scanner(System.in);
		System.out.print("请输入一个整数:");
		n=reader.nextInt();
		for(int i=1;i<=n;i++)
		{
			s=1;
			for(int j=1;j<=i;j++)
			{
				s=s*j;
			}
            sum=s+sum;
		}
		System.out.println(sum);
	}
}

5.在键盘上输入n,编程计算sum=1-1/2!+1/3!-…(-1)^(n-1)*(1/n!)。

import java.util.*;
public class SumFactorial2
{
	public static void main(String[] args)
	{
		int n;
		double sum=0,fac;
		Scanner reader = new Scanner(System.in);
		System.out.print("请输入一个整数:");
		n=reader.nextInt();
		int flag=1;//正负号
		for(int i=1;i<=n;i++)
		{
			fac=1;
			for(int j=1;j<=i;j++)
			{
				fac=fac*j;
			}
			if(flag==1)
			{
				sum=sum+1/fac;
				flag=0;
			}
			else
			{
				sum=sum-1/fac;
				flag=1;
			}
		}
		System.out.printf("%.5f\n",sum);
	}
}

6.水仙花数是指其个位、十位和百位三个数字的立方和等于这个三位数本身,求出所有的水仙花数。

import java.util.*;
public class NarNum 
{
     public static void main(String[] args)
	 { 
            int num = 100; 
			int a,b,c;
            System.out.print("3位的水仙花数有:\n"); 
            while (num <= 999) 
			{ 
             int sum =0; 
             a = num / 100 % 10;//百位
             b = num / 10 % 10; //十位
             c = num % 10;//个位
         sum=(int)Math.pow(a,3)+(int)Math.pow(b,3)+(int)Math.pow(c,3);
             if (num ==sum) 
			 { 
                 System.out.println(num); 
             } 
             num++; 
      }
    }
}

7.从键盘输入一个整数,判断该数是否是完全数。

import java.util.*;
public class PerfectNum 
{
     public static void main(String[] args)
	 { 
            int n; 
			int sum=0;
			Scanner reader = new Scanner(System.in);
            System.out.print("输入一个整数,可判断是否为完全数:"); 
            n=reader.nextInt();
			for(int i=1;i<n;i++)
			{
				if(n%i==0)
					sum=sum+i;
			}
			if(n==sum)
				System.out.println("是"); 
			else
				System.out.println("否"); 
    }
}

8.计算并输出一个整数各位数字之和。

import java.util.*;
public class digitSum 
{
     public static void main(String[] args)
	 { 
            int n,t; 
			int sum=0;
			Scanner reader = new Scanner(System.in);
            System.out.print("输入一个整数:"); 
            n=reader.nextInt();
			while(n!=0)
			{
				t=n%10;
				sum=sum+t;
				n=n/10;
			}
			System.out.printf("其各位数字之和为%d\n",sum); 
    }
}

10.输入一个浮点数,将该浮点数的整数部分和小数部分分别输出。

import java.util.*;
public class floatSplit 
{
     public static void main(String[] args)
	 { 
          double n,f; 
			int d;
			Scanner reader = new Scanner(System.in);
          System.out.print("输入一个浮点数:"); 
          n=reader.nextDouble();
			d=(int)n;
			f=n-d;
			System.out.printf("其整数部分是%d,小数部分是%f\n",d,f); 
    }
}

11.设有一长为3000m的绳子,每天减去一半,问需几天时间,绳子的长度会短于5m。

import java.util.*;
public class ropeDay
{
     public static void main(String[] args)
	 { 
            int len=3000,day=0;
			while(len>=5)
			{
				len=len/2;
		        day++;
			}
			System.out.printf("需%d天\n",day); 
    }
}

11.编程输出如下的数字图案:
1 3 6 10 15
2 5 9 14
4 8 13
7 12
11

import java.util.*;
public class digitPattern
{
     public static void main(String[] args)
	 { 
         int row=1,n=5,first=1,s=1,d;
		 int num;
         for(int i=n;i>=1;i--)
		 {			 
			num=first;
			d=row+1;
			for(int j=1;j<=i;j++)
			{
				System.out.print("  "+num+"  "); 
				num=num+d;
				d++;
			}
			first=first+s;
			s++;
			row++;
			System.out.println(); 
		 }
    }
}
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值