Java基础

一、奇偶分家

给定N个正整数,请统计奇数和偶数各有多少个?

输入格式:

输入第一行给出一个正整N≤);第2行给出N个非负整数,以空格分隔。

输出格式:

在一行中先后输出奇数的个数、偶数的个数。中间以1个空格分隔。

输入样例:

9
88 74 101 26 15 0 34 22 77

输出样例:

3 6
 1 import java.util.Scanner;
 2 public class Main {
 3 public static void main(String[] args){
 4     Scanner sc=new Scanner(System.in);
 5     int a=sc.nextInt();
 6     int oshu=0;
 7     int jishu=0;
 8     for(int i=1;i<=a;i++)
 9     {
10         int s=sc.nextInt();
11         if(s%2==0)
12              oshu++;
13         else
14             jishu++;
15         
16     }
17     System.out.print(jishu+" "+oshu);
18     sc.close();
19 }
20 }

二、 装睡

你永远叫不醒一个装睡的人 —— 但是通过分析一个人的呼吸频率和脉搏,你可以发现谁在装睡!医生告诉我们,正常人睡眠时的呼吸频率是每分钟15-20次,脉搏是每分钟50-70次。下面给定一系列人的呼吸频率与脉搏,请你找出他们中间有可能在装睡的人,即至少一项指标不在正常范围内的人。

输入格式:

输入在第一行给出一个正整数N(≤)。随后N行,每行给出一个人的名字(仅由英文字母组成的、长度不超过3个字符的串)、其呼吸频率和脉搏(均为不超过100的正整数)。

输出格式:

按照输入顺序检查每个人,如果其至少一项指标不在正常范围内,则输出其名字,每个名字占一行。

输入样例:

4
Amy 15 70
Tom 14 60
Joe 18 50
Zoe 21 71

输出样例:

Tom
Zoe
 1 import java.util.Scanner;
 2 public class Main {
 3 
 4     public static void main(String[] args) {
 5         // TODO Auto-generated method stub
 6         Scanner sc=new Scanner(System.in);
 7         int a=sc.nextInt();
 8         for(int i=0;i<a;i++)
 9         {
10             String s=sc.next();
11                     
12             int pinlv=sc.nextInt();
13                     int maibo=sc.nextInt();
14         if(pinlv<15||pinlv>20||maibo<50||maibo>70)
15         {
16             System.out.println(s);
17         
18         }
19                 }
20 
21         sc.close();
22         
23                 
24         
25         }
26 
27 }

三、查询水果价格

给定四种水果,分别是苹果(apple)、梨(pear)、桔子(orange)、葡萄(grape),单价分别对应为3.00元/公斤、2.50元/公斤、4.10元/公斤、10.20元/公斤。

首先在屏幕上显示以下菜单:

[1] apple
[2] pear
[3] orange
[4] grape
[0] exit

用户可以输入编号1~4查询对应水果的单价。当连续查询次数超过5次时,程序应自动退出查询;不到5次而用户输入0即退出;输入其他编号,显示价格为0。

输入格式:

输入在一行中给出用户连续输入的若干个编号。

输出格式:

首先在屏幕上显示菜单。然后对应用户的每个输入,在一行中按格式“price = 价格”输出查询结果,其中价格保留两位小数。当用户连续查询次数超过5次、或主动输入0时,程序结束。

输入样例1:

3 -1 0 2

输入样例2:

1 2 3 3 4 4 5 6 7 8

输出样例2:

[1] apple
[2] pear
[3] orange
[4] grape
[0] exit
price = 3.00
price = 2.50
price = 4.10
price = 4.10
price = 10.20
 1 import java.util.Scanner;
 2 public class Main {
 3 
 4     public static void main(String[] args) {
 5         // TODO Auto-generated method stub
 6         Scanner sc=new Scanner(System.in);
 7         System.out.println("[1] apple");
 8         System.out.println("[2] pear");
 9         System.out.println("[3] orange");
10         System.out.println("[4] grape");
11         System.out.println("[0] exit");
12         int i=0;
13         for(i=0;i<5;i++)
14         {
15         int s=sc.nextInt();
16         switch(s)
17         {
18                     case 0:
19                         return;
20                     case 1:
21         System.out.println("price = 3.00");break;
22                     case 2:
23         System.out.println("price = 2.50");break;
24                     case 3:
25         System.out.println("price = 4.10");break;
26                     case 4:
27         System.out.println("price = 10.20");break;
28 
29 
30                     default:
31             System.out.println("price = 0.00");break;
32         }
33         
34         }
35         
36         sc.close();
37     }
38 
39 }

四、 统计学生平均成绩与及格人数

本题要求编写程序,计算学生们的平均成绩,并统计及格(成绩不低于60分)的人数。题目保证输入与输出均在整型范围内。

输入格式:

输入在第一行中给出非负整数N,即学生人数。第二行给出N个非负整数,即这N位学生的成绩,其间以空格分隔。

输出格式:

按照以下格式输出:

average = 成绩均值
count = 及格人数

其中平均值精确到小数点后一位。

输入样例:

5
77 54 92 73 60

输出样例:

average = 71.2
count = 4
 1 import java.util.Scanner;
 2 public class Main {
 3    public static void main(String args[]){
 4        Scanner sc = new Scanner(System.in);
 5        int t=sc.nextInt();
 6        if(t==0)
 7             {
 8                 
 9                         System.out.println("average = 0.0");
10         
11         System.out.println("count = 0");
12             }
13             else{
14         int count=0;
15             int s=0;
16         for(int i=0;i<t;i++)
17         {
18             int a=sc.nextInt();
19             s=s+a;
20             if(a>=60)
21             count++;
22 
23         }
24            double average=s*1.0/t;
25 System.out.println("average = "+String.format("%.lf",average));
26            System.out.println("count = "+count);
27        }
28    }
29 }

五、作品评分

全国中小学生Scratch作品大赛拉开了序幕。每个参赛选手可以通过网络直接上传作品。本次比赛人人可做评委。每个网络评委可以通过网络对每一件作品进行打分。评分系统也是请程序高手设计的,能自动去掉一个最高分和一个最低分,求出平均分。

输入格式:

输入数据包括两行: 第一行为n,表示n个评委,n>2。 第二行是n个评委的打分,分数之间有一个空格。打分是可以带有小数部分的。

输出格式:

输出平均分,结果保留两位小数。

输入样例:

6
10 9 8 7.9 9 9.5

输出样例:

8.88
 1 import java.util.Scanner;
 2 public class Main{
 3     public static void main(String[] args){
 4         Scanner sc=new Scanner(System.in);
 5         int a=sc.nextInt();
 6         double s=0;
 7         double max=10;
 8         double min=0;
 9         for(int i=1;i<=a;i++)
10         {
11             double b=sc.nextDouble();
12 
13             if(b<max)
14                 max=b;
15 if(b>min)
16                 min=b;
17                        s=s+b;
18         }
19         double residue=(s-max-min)/(a-2);
20 
21         System.out.printf("%.2f",residue);
22         sc.close();
23         
24         
25     }
26     
27     
28 }

六、逆序输出一个整数的各位数字

本题要求编写程序,对输入的一个非负整数,从低位开始逐位分割并输出它的各位数字。

输入格式:

输入在一行中给出一个长整型范围内的非负整数。

输出格式:

从低位开始逐位输出该整数的各位数字,每个数字后面有一个空格。

输入样例:

1234560

输出样例:

0 6 5 4 3 2 1 
 1 import java.util.Scanner;
 2 
 3 public class Main {
 4 public static void main (String args[])
 5 {
 6     Scanner sc=new Scanner(System.in);
 7     long a=sc.nextLong();
 8     long c=0;
 9 do
10     {
11        c=a%10;
12         System.out.print(c+" ");
13                 a=a/10;
14         
15     }while(a>0);
16     System.out.println();
17     
18 sc.close();
19 }
20 }

七、打印九九口诀表 

下面是一个完整的下三角九九口诀表:

1*1=1   
1*2=2   2*2=4   
1*3=3   2*3=6   3*3=9   
1*4=4   2*4=8   3*4=12  4*4=16  
1*5=5   2*5=10  3*5=15  4*5=20  5*5=25  
1*6=6   2*6=12  3*6=18  4*6=24  5*6=30  6*6=36  
1*7=7   2*7=14  3*7=21  4*7=28  5*7=35  6*7=42  7*7=49  
1*8=8   2*8=16  3*8=24  4*8=32  5*8=40  6*8=48  7*8=56  8*8=64  
1*9=9   2*9=18  3*9=27  4*9=36  5*9=45  6*9=54  7*9=63  8*9=72  9*9=81  

本题要求对任意给定的一位正整数N,输出从1*1N*N的部分口诀表。

输入格式:

输入在一行中给出一个正整数N(1N≤9)。

输出格式:

输出下三角N*N部分口诀表,其中等号右边数字占4位、左对齐。

输入样例:

4

输出样例:

1*1=1   
1*2=2   2*2=4   
1*3=3   2*3=6   3*3=9   
1*4=4   2*4=8   3*4=12  4*4=16  
 1 import java.util.Scanner;
 2 public class Main{
 3     public static void main(String[] args){
 4         Scanner sc=new Scanner(System.in);
 5         int a=sc.nextInt();
 6         for(int i=1;i<=a;i++)
 7         {
 8             for(int b=1;b<=i;b++)
 9             {
10                 System.out.print(b+"*"+i+"="+String.format("%-4d",i*b));
11             }
12             System.out.println();
13         }
14         
15         
16         sc.close();
17         
18     }
19     
20     
21     
22     
23 }

八、跟奥巴马一起画方块

美国总统奥巴马不仅呼吁所有人都学习编程,甚至以身作则编写代码,成为美国历史上首位编写计算机代码的总统。2014年底,为庆祝“计算机科学教育周”正式启动,奥巴马编写了很简单的计算机代码:在屏幕上画一个正方形。现在你也跟他一起画吧!

输入格式:

输入在一行中给出正方形边长N(3)和组成正方形边的某种字符C,间隔一个空格。

输出格式:

输出由给定字符C画出的正方形。但是注意到行间距比列间距大,所以为了让结果看上去更像正方形,我们输出的行数实际上是列数的50%(四舍五入取整)。

输入样例:

10 a

输出样例:

aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
 1 import java.util.Scanner;
 2 
 3 public class Main{
 4     public static void main (String args[]){
 5         Scanner sc=new Scanner(System.in);
 6         int l=sc.nextInt();
 7         int s=(l+1)/2;
 8         char c=sc.next().charAt(0);
 9         for(int i=0;i<s;i++)
10         {
11             for(int a=0;a<l;a++)
12             {
13                 System.out.print(c);
14                 
15                 
16             }
17             System.out.println();
18             
19         }
20         
21         sc.close();
22     }
23     
24     
25     
26 }

 

posted @ 2021-06-29 18:39  咖啡布丁  阅读(397)  评论(0)    收藏  举报
levels of contents