java语言程序设计与数据结构7.1

java语言程序设计与数据结构7.1

在这里插入图片描述

package one;

import java.util.*;

public class SpecifyTheLevel7_1 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner input = new Scanner(System.in);
		
		System.out.print("Enter the number of students: ");
		int n=input.nextInt();
		
		int[] scores = new int[n];
		int best=0;
		System.out.print("Enter 4 scores: ");
		for(int i=0;i<n;i++) {
			scores[i]=input.nextInt();
			if(scores[i]>best)
				best=scores[i];
		}
		
		for(int i=0;i<n;i++) {
			System.out.print("Student "+i+" score is "+scores[i]+" and grade is ");
			char x;
			if(scores[i]>=best-10)
				x='A';
			else if(scores[i]>=best-20)
				x='B';
			else if(scores[i]>=best-30)
				x='C';
			else if(scores[i]>=best-40)
				x='D';
			else 
				x='F';
			System.out.println(x);
		}
			
				
	}

}

//4
//40 55 70 58

在这里插入图片描述
2.
在这里插入图片描述

package one;

import java.util.Scanner;

public class ReverseNumber7_2 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner input = new Scanner(System.in);
		
		int[] number=new int[10];
		
		System.out.print("Enter 10 numbers: ");
		for(int i=0;i<10;i++) 
			number[i]=input.nextInt();
		
		System.out.print("Reverse numbers: ");
		for(int i=9;i>=0;i--)
			System.out.print(number[i]+" ");
	}

}

//0 1 2 3 4 5 6 7 8 9

在这里插入图片描述
3.
在这里插入图片描述

package one;

import java.util.Scanner;

public class CalculateTimes7_3 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner input = new Scanner(System.in);
		
		int[] num=new int[100];
		
		int i=0;
		System.out.print("Enter the integers between 1 and 100: ");
		do {
			num[i]=input.nextInt();
			i++;
		} while(num[i-1]!=0); //结束的时候,i=非零数字个数+1
		
		//计数
		int[] times=new int[101];
		for(int j=0;j<i-1;j++)
			times[num[j]]++;
		//输出
		for(int j=1;j<101;j++)
			if(times[j]!=0)
				if(times[j]==1)
					System.out.println(j+" occurs "+times[j]+" time");
				else 
					System.out.println(j+" occurs "+times[j]+" times");
	}

}

/**
每次输入1个数字,在1-100之间,每输完一次后,程序运行一次,当输入0的时候,不再继续运行(这样不行)。
建一个足够大的数组,输入的时候用do-while,当输入的为0时,循环结束,这个循环的i很有用,还可以做计数器的循环次数判断。
在计数的时候,建一个长度为101的数组,初始化为0,每当出现一次,加一。
最后把计数数组再遍历一次就好了。
如何初始化?如何初始化为0_直接默认。不初始化为全零可能需要一个遍历。
数值型默认为0
*/

//2 5 6 5 4 3 23 43 2 0

在这里插入图片描述
4.
在这里插入图片描述
所以说,有什么好办法可以读入不确定个数的数字呢?
如果建一个足够大的数组后,在循环输入数据,感觉会浪费内存空间。(本题使用)
那么有没有可以改变数组长度的方法呢?

package one;

import java.util.Scanner;

public class AnalysisResults7_4 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner input = new Scanner(System.in);
		
		//当知道数据个数时,可以用这种方法
		//System.out.print("Enter the number of grades");
		//int n=input.nextInt();
		int n=100;
		
		int[] grades=new int[n];
		int i=0;
		System.out.print("Enter numbers: ");
		do {
			grades[i]=input.nextInt();
			i++;
		} while(grades[i-1]>=0);
		
		double average,sum=0;
		int q1=0,q2=0;
		
		for(int j=0;j<i-1;j++) 
			sum=sum+grades[j];	
        average=sum/(i-1);
        System.out.println(average);
        
        for(int j=0;j<i-1;j++) {
        	if(grades[j]>=average)
        		q1++;
        	else
        		q2++;
        }

        System.out.println(q1+" "+q2);
	}

}



//90 80 70 -1

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

emmaing

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值