流程控制 编程练习

1.要求:

从键盘输入一个数n,判断该数是否是完全数,完全数是指其所有因数(包括1,但不包括其本身)的和等于该数,例如:28=1+2+4+7+14

 程序中采用的输出语句形式为:

        if(a==b)

            System. out. print("您所输入的数["+a+"]是完全数");

        else

            System. out. print("您所输入的数[" +a+"]不是完全数");

2.测试样例:

输入:
20

输出:

您所输入的数[20]不是完全数

import java.util.*;
public class First
{
public static void main(String[] args)
{
int i,a,b = 0;
Scanner reader = new Scanner(System.in);
//System.out.print(“输入非数值退出!!,否则输人数:”);

        b = 0;
        a = reader.nextInt();
        for(i=1;i<=a/2;i++)
            if(a%i==0) b += i;
        if(a==b)
            System. out. print("您所输入的数["+a+"]是完全数");
        else
            System. out. print("您所输入的数[" +a+"]不是完全数");
        //System. out. print("\n输入非数值退出!!,否则输人数:");        
}

}

1.要求:

从键盘输入一个数n,计算并输出1-1/2!+1/3!-……(-1)n-1 *1/n!的结果

 程序中采用的输出语句形式为:

                       System.out.print(" sum=" + sum);

2.测试样例:

输入:
7

输出:
sum=0.6321428571428571

import java.util.*;
public class First{
public static void main(String[] args)
{
int n,i = 1;double s = 1,sum = 0;
Scanner buf = new Scanner(System. in);
do {
//System.out.print(“输入n的值:”);
n = buf.nextInt();
}while(n<=0);
do{
sum = sum + s;
i++;
s= -s/i;
}while(i<=n);
System. out. print(“sum=” + sum);
}
}

import java.util.Scanner;
public class First {
public static void main(String[] args)
{
double n = 0;
int i,b=1;
Scanner reader = new Scanner(System.in);
int a=reader.nextInt();

		   for(i=1;i<=a;i++)
		   {
			   b=b*i;
			   if(i%2==0)
				   n-=1/b;
			   if(i%2!=0)
				   n+=1/b;
		   }
		   System.out.println(n);
	}
}

1.要求:

从键盘输入一个1-100的数,判断该数是否既可以被3整除,又可以被7整除。
 程序中采用的输出语句形式为:

                       System. out. println("输入的数是" +x+"满足要求");

2.测试样例:

输入:
78

输出:
输入的数是78不满足要求

import java.util.*;
public class First
{
public static void main(String[] args)
{
int x;
Scanner reader = new Scanner(System. in);
do
{
//System. out. print(“请输入1~100的数:”);
x= reader. nextInt();
}while(x < 0 || x > 100);
if(x % 3 == 0 && x % 7 == 0)
System. out. println(“输入的数是” +x+“满足要求”);
else
System. out. println(“输入的数是” +x+ “不满足要求”);
}
}

1.要求:

从键盘输入一个数n,计算并输出1!+2!+3!+……+n!的结果
 程序中采用的输出语句形式为:

                       System.out.print(" sum=" + sum);

2.测试样例:

输入:
7

输出:
sum=5913

import java.util.*;
public class First
{
public static void main(String[] args)
{
int n,s = 1,sum = 0;
Scanner buf = new Scanner(System. in);
do {
//System.out.print(“请输入n=”);
n= buf.nextInt();
}while(n<=0);
for(int i = 1;i <= n;i++)
{
s = s * i;
sum = sum + s;
}
System.out.print(" sum=" + sum);
}
}

1.要求:

从键盘输入一个浮点数,然后将其整数和小数部分分别输出

 程序中采用的输出语句形式为:

       System.out.println("整数部分是:"+zs);

       System.out.println("小数部分是:0."+xs);

2.测试样例:

输入:
20.21

输出:

整数部分是:20
小数部分是:0.21

import java.util.*;
public class First
{
public static void main(String[] args)
{
double x;
String zs,xs,s;
//System.out.println(“请输入一个浮点数:”);
Scanner reader = new Scanner(System.in);
x = reader.nextDouble();
s = “” + x;
int i;
i = s.indexOf(’.’);
zs = s.substring(0,i);
xs = s.substring(i + 1);
System.out.println(“整数部分是:”+zs);
System.out.println(“小数部分是:0.”+xs);
}
}

1.要求:

 将学生的学习成绩按分数段分为优、良、中、及格和不及格五个等级(即A,B,C,D,E五个等级),输入一个0~100的成绩,输出相应的登记。要求用switch语句实现。
 程序中采用的输出语句为:

                       System.out.println("评定成绩为:" + grade);

2.测试样例:

输入:
78

输出:
评定成绩为:C

import java.util.*;
public class First
{
public static void main(String[ ] args) {
int testScore, x;
char grade;
Scanner reader = new Scanner(System.in);
//System.out.print(“请输入成绩:”);
testScore = reader.nextInt();
x = testScore / 10;
switch (x) {
case 10:
case 9:
grade = ‘A’;
break;
case 8:
grade = ‘B’;
break;
case 7:
grade = ‘C’;
break;
case 6:
grade = ‘D’;
break;
default:
grade = ‘E’;
}
System.out.println(“评定成绩为:” + grade);
}
}

1.要求:

将学生的学习成绩按如下的分数段评定为四个等级,85-100为A,70-84为B,60-69为C,0-50为D。输入一个0~100的成绩,输出相应的等级。要求用switch语句实现。
 程序中采用的输出语句为:

                       System.out.println( );

2.测试样例:

输入:
78

输出:
你的评定成绩为:B

import java.util.*;
public class First
{
public static void main(String[] args)
{
int n,testScore;
Scanner reader = new Scanner(System.in);
//System.out.println(“请输入一个分数:”);
testScore= reader.nextInt();
n= testScore/5;
if(testScore<60)
n = 11;
switch(n) {
case 20:
case 19:
case 18:
case 17:
System.out.println(“你的评定成绩为:A”);
break;
case 16:
case 15:
case 14:
System.out.println(“你的评定成绩为:B”);
break;
case 13:
case 12:
System.out.println(“你的评定成绩为:C”);
break;
case 11:
System.out.println (“你的评定成绩为:D”);
}
}
}

1.要求:

 水仙花数是指其个位,十位,百位三个数字的立方和等于这三位数本身,求出所有的水仙花数
 程序中采用的输出语句形式为:                          

                 System.out.println(s)

2.测试样例:

输入:


输出:

153

370

371

407

import java.util.*;
public class First
{
public static void main(String[] args)
{
int k,n,s,i = 100;
do{
s = 0;
n = i;
while(n!= 0)
{
k = n % 10;
n = n/10;
s = s + k * k * k;
}
if(i == s) System.out.println(s) ;
i++;
}while(i<999);
}
}

1.要求:

编程输出如下数字图案

1 3 6 10 15

2 5 9 14

4 8 13

7 12

11

 程序中采用的输出语句形式为:           

        System.out.print(k+" ");

2.测试样例:

输入:
        无

输出:

1 3 6 10 15

2 5 9 14
4 8 13
7 12
11

public class First
{
public static void main(String[] args)
{
int i,n,k,m = 5,s = 1;
for(i=0;i<m;i++)
{
s += i;
n = 1;
k = s;
do
{
System.out.print(k+" ");
n++;
k += n + i;
}while(n <=m- i);
System.out.println();
}

    //该题的第二种解法
    /*int i,count,a,c;
    int b = 1;
    for(count = 1;count <= 5;count++)
    {
        c = count;
        c--;
        a = b + c;
        b = a;
        System.out.print(b+" ");
        for(i = 1 + count;i<= 5;i++)
        {
            a += i;
            System.out.print(a+" ");
        }
        System.out.print("\n");
    }*/
}

}

1.要求:

计算并输出一个整数各位数字之和。如5423的各位数字之和为5+4+2+3

 程序中采用的输出语句形式为:            

           System.out.print("sum= " + sum);

2.测试样例:

输入:
3721

输出:

sum= 13

import java.util.*;
public class First
{
public static void main(String[] args)
{
int n,s,sum = 0;
Scanner buf = new Scanner(System.in);
//System.out.print(“请输入n=”);
n = buf. nextInt();
while(n> 0)
{
s = n % 10;
n= (n-s)/10;
sum = sum + s;
}
System.out.print("sum= " + sum);
}
}

1.要求:

设有长为3000m的绳子,每天减去一半,请问需要多少天,绳子的长度会短于5m

 程序中采用的输出语句形式为:           

        System.out.println("需要:"+dayCount+"天时间");

2.测试样例:

输入:
        无

输出:

       需要:10天时间

import java.util.*;
public class First
{
public static void main(String[] args)
{
float length = 3000;
int dayCount = 0;
do
{
length = length/2;
dayCount++ ;
}while(length>=5);
System.out.println(“需要:”+dayCount+“天时间”);
}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值