zoukankan      html  css  js  c++  java
  • 26-30题

    26.试题编号:J1-26《成绩分析系统》关键算法

    (1)任务描述 对学生成绩进行统计和数据分析可以发现学生对知识的掌握情况,以便教师根据分析的 结果调整教学内容和重难点,现在需要完成以下任务来实现成绩分析系统。 任务一:实现成绩等级划分功能关键算法并绘制流程图(30 分) 输入一个百分制的成绩 t,将其转换成对应的等级然后输出,具体转换规则如下:

    90~100 为 A

    80~89 为 B

    70~79 为 C

    60~69 为 D

    0~59 为 E

    要求:如果输入数据不在 0~100 范围内,请输出一行:“Score is error!”。

    import java.util.Scanner;
    
    
    /*
    *成绩等级划分
    */
    public class Task1 {
    	public static void main(String[] args) {
    		Scanner s = new Scanner(System.in);
    		System.out.print("输入一个百分制的成绩t:");
    		double t = s.nextDouble();
    		int d = (int) (t/10);
    		switch (d) {
    		case 10:
    		case 9:
    			System.out.print("A");
    			break;
    		case 8:
    			System.out.print("B");
    			break;	
    		case 7:
    			System.out.print("C");
    			break;
    		case 6:
    			System.out.print("D");
    			break;
    		case 5:
    		case 4:
    		case 3:
    		case 2:
    		case 1:
    		case 0:
    			System.out.print("E");
    			break;		
    		default:
    			System.out.print("Score is error!");
    			break;
    		}
    	}
    }

    任务二:实现数列求和功能关键算法并绘制流程图(30 分) 数列的定义如下: 数列的第一项为 n,以后各项为前一项的平方根,输出数列的前 m 项的和。 要求:数列的各项均为正数。

    import java.util.Scanner;
    
    /*
    数列的第一项为 n,以后各项为前一项的平方根,输出数列的前 m 项的和.
    */
    public class Task2 {
    	public static void main(String[] args) {
    		Scanner s = new Scanner(System.in);
    		System.out.print("数列第一项n:");
    		double n = s.nextDouble();
    		System.out.print("共有m项:");
    		int m = s.nextInt();
    		double sum = 0;
    		for (int i = 0; i < m; i++) {
    			sum += n;
    			n = Math.sqrt(n);
    		}
    		System.out.printf("%.2f",sum);
    	}
    }

    任务三:求前 n 项之和功能关键算法并绘制流程图(30 分) 多项式的描述如下:1 - 1/2 + 1/3 - 1/4 + 1/5 - 1/6 + ...,现在要求出该多项式 的前 n 项的和。 要求:结果保留两位小数。 (2)作品提交要求见本模块附录 1 (3)实施条件要求见本模块附录 2 (4)评价标准见本模块附录 3

    import java.util.Scanner;
    
    /*
     *
    */
    
    public class Task3 {
    	public static void main(String[] args) {
    		Scanner s = new Scanner(System.in);
    		System.out.print("输入多少项n:");
    		int i = 1;//分子
    		int n = s.nextInt();
    		double a = 0;//前m项奇数项的和
    		double b = 0;//前m项偶数项的和
    		double sum = 0;
    		int a1 = 1;
    		for (int j = 1; j <= n; j++) {
    			if (j%2!=0) {//奇数
    				a = a + (a1 - i/j+1);
    				a1 = 0;
    			}
    			if (j%2==0) {
    				b = b + i/j+1;
    			}
    			sum = sum + a+b;
    		}
    		System.out.format("%.2f",sum).println();
    	}
    }

    27.试题编号:J1-27《酒水销售系统》关键算法

    (1)任务描述 互联网的发展极大地促进了全球经济贸易的发展,同时也正在改变人们的消费方式。某 酒厂打算开发一个酒水销售系统,以便在网上进行产品销售、利润统计及经营分析。为实现 该系统,请完成以下任务。

    任务一:实现酒水销售 1 关键算法并绘制流程图(30 分) 啤酒每罐 2.3 元,饮料每罐 1.9 元。小明买了若干啤酒和饮料,一共花了 82.3 元。我 们还知道他买的啤酒比饮料的数量少,请你编程计算他买了几罐啤酒。 注意:使用循环实现。

    /*
    啤酒每罐 2.3 元,饮料每罐 1.9 元。小明买了若干啤酒和饮料,一共花了 82.3 元。我
    们还知道他买的啤酒比饮料的数量少,请你编程计算他买了几罐啤酒。
    */
    public class Task1 {
    	public static void main(String[] args) {
    		System.out.println(fun());
    	}
    	
    	public static int fun() {
    		int i,j,x,y,tmp;
    		for (i = 0; i < 100; i ++) {
    			for (j = 0;j<i;j++) {
    				tmp = 19*i+23*j;
    				if (tmp == 823) 
    					return j;
    			}
    		}
    		return 0;
    	}
    }

    任务二:实现酒水销售 2 关键算法并绘制流程图(30 分) 本月酒水的销售为 2!+4!+5!的值。n!表示 n 的阶乘,例如 3!=3×2×1=6,5!=5×4×3 ×2×1=120。求这个值。 注意:分别利用递归和非递归方法实现求 n!。

    /*
    本月酒水的销售为 2!+4!+5!的值。n!表示 n 的阶乘,例如 3!=3×2×1=6,5!=5×4×3
    ×2×1=120。求这个值。
    注意:分别利用递归和非递归方法实现求 n!。
    */
    public class Task2 {
    	public static void main(String[] args) {
    		System.out.println(fun(2)+fun(4)+fun(5));
    	}
    	
    	public static int fun(int n) {
    		int path = 1;
    		if (n<0) {
    			return -1;
    		}
    		while (n>0) {
    			path = path * n;
    			n--;
    		}
    		return path;
    	}
    }

    任务三:实现酒水销售 3 关键算法并绘制流程图(30 分) 酒水产商临时打算,为系统增加新功能,根据特定算法生产特定的字符 logo。 把 abcd...s 共 19 个字母组成的序列重复拼接 106 次,得到长度为 2014 的串。 接下来删除第 1 个字母(即开头的字母 a),以及第 3 个,第 5 个等所有奇数位置的字 母。得到的新串再进行删除奇数位置字母的动作。如此下去,最后只剩下一个字母,请编程 求解该字母。 注意:使用循环或者递归实现,只需打印最后剩下的那个字母。 (2)作品提交要求见本模块附录 1 (3)实施条件要求见本模块附录 2 (4)评价标准见本模块附录 3

    /*猜字母
     把abcd...s共19个字母组成的序列重复拼接106次,得到长度为2014的串。
     接下来删除第1个字母(即开头的字母a),以及第3个,第5个等所有奇数位置的字母。
     得到的新串再进行删除奇数位置字母的动作。如此下去,最后只剩下一个字母,请写出该字母。
     */
    
    public class Task3 {
    	public static void main(String[] args) {
    		String str = "";
    		for (int i = 1; i <= 19; i++) 
    			str +=  (char) (96+i);//打印19个字母
    		
    		
    		//重复拼接106次
    		StringBuilder sb = new StringBuilder();
    		for (int i = 0; i < 106; i++) 
    			sb.append(str);
    		
    		
    		//删除奇数位
    		while (sb.length()>1) {
    			for (int i = 0; i < sb.length(); i++)
    				sb.delete(i, i+1);//每循环一次长度就减一并删除了奇数位
    		}
    		
    		System.out.print(sb);
    	}
    }
    

      

    28.试题编号:J1-28《中学生数学辅助学习系统》关键算法

    (1)任务描述 由于中学数学是培养数学思维的基础阶段,为了让学生打造一个坚实的数学基础,A 学 校决定开发一个中学生数学辅助学习系统,通过完成趣味试题,采用游戏通关的方式,帮助 中学生初步掌握二元一次方程解简单应用题的方法和步骤,并会列出二元一次方程解简单的 应用题。

    任务一:实现汽车与摩托问题的关键算法并绘制流程图(30 分)
    在一个停车场内,汽车、摩托车共停了 48 辆,其中每辆汽车有 4 个轮子,每辆摩托车 有 3 个轮子,这些车共有 172 个轮子,编程输出停车场内有汽车和摩托车的数量。 注意:用循环语句实现。

    /*
    在一个停车场内,汽车、摩托车共停了 48 辆,其中每辆汽车有 4 个轮子,每辆摩托车
    有 3 个轮子,这些车共有 172 个轮子,编程输出停车场内有汽车和摩托车的数量。
    */
    public class Task1 {
    	public static void main(String[] args) {
    		System.out.println("汽车:"+fun());
    		System.out.println("摩托车:"+(48-fun()));
    	}
    	
    	public static int fun() {
    		int i,j,tmp;
    		for (i = 0; i < 48 ; i++) {
    			for(j = 0; j < i;j++){
    				tmp = 4*i+3*j;
    				if (tmp==172)
    					return i;
    			}
    		}
    		return 0;
    	}
    }

    任务二:实现运送暖瓶问题的关键算法并绘制流程图(30 分) 某运输队为超市运送暖瓶 500 箱,每箱装有 6 个暖瓶。已知每 10 个暖瓶的运费为 5 元, 损坏一个不但不给运费还要赔 10 元,运后结算时,运输队 共得 1332 元的运费。编程输出 损坏暖瓶的个数。 注意:用循环语句实现。

    /*
    某运输队为超市运送暖瓶 500 箱,每箱装有 6 个暖瓶。已知每 10 个暖瓶的运费为 5 元,
    损坏一个不但不给运费还要赔 10 元,运后结算时,运输队 共得 1332 元的运费。编程输出
    损坏暖瓶的个数。
    */
    public class Task2 {
    	public static void main(String[] args) {
    		System.out.print(fun());
    	}
    	
    	public static int fun() {
    		int ydyf = 1500;//应得运费
    		int sjyf = 1332;//实际运费
    		int ssyf ;
    		int i;
    		for (i = 1; i < 3000; i++) {
    			ssyf = (int) (i*(0.5+10));
    			if (ssyf == 168 ) 
    				return i;
    		}
    		return 0;
    	}
    }

    任务三:实现合格电视机问题的关键算法并绘制流程图(30 分) 某电视机厂每天生产电视 500 台,在质量评比中,每生产一台合格电视机记 5 分,每生 产一台不合格电视机扣 18 分。如果四天得了 9931 分,编程计算这四天生产的合格电视机的 台数,并输出。 注意:用循环语句实现。 (2)作品提交要求见本模块附录 1 (3)实施条件要求见本模块附录 2 (4)评价标准见本模块附录 3

    /*
     *某电视机厂每天生产电视 500 台,在质量评比中,每生产一台合格电视机记 5 分,每生
    产一台不合格电视机扣 18 分。如果四天得了 9931 分,编程计算这四天生产的合格电视机的
    台数,并输出。
    
    */
    
    public class Task3 {
    	public static void main(String[] args) {
    		System.out.println(fun());
    	}
    	
    	public static int fun() {
    		int ts = 2000;//4天2000
    		int hgdf = 10000;//应得10000分
    		int sjdf = 9931;//实际得分
    		for (int i = 1; i <= 2000; i++) {
    			int tmp = (18+5)*i;//一台不合格5分不加还有反扣18分
    			if(tmp==69) return i;
    		}
    		return 0;
    	}
    }
    

      

    29.试题编号:J1-29《歌手大赛系统》关键算法

    (1)任务描述 A 学校即将举行“校园歌手大赛”,为了快速准确的分析选手的得分情况。A 学校决定 开发一个歌手大赛系统。为了实现该系统的功能,请完成以下三个任务。

    任务一:实现计算平均分功能关键算法并绘制流程图(30 分) 小明今天参加了“校园歌手大赛”,评委的打分规则是去掉一个最低分和一个最高分后 算出剩下分数的平均分,你能帮助小明快速的算出平均分吗? (评委数量必须大于 2) 输入说明:首先输入一个整数 n,代表评委人数,然后输入 n 个数。请按照题目的计算 规则计算出平均分然后输出。 例如输入:

    6

    100 90 90 80 85 95

    按照题目注意计算平均分并输出:

    90.0

    注意:使用循环和数组实现。

    import java.util.ArrayList;
    import java.util.Arrays;
    import java.util.Scanner;
    /*
    
    */
    public class Task1 {
    	public static void main(String[] args) {
    		Scanner s = new Scanner(System.in);
    		int n = s.nextInt();//评委个数
    		double[] arry = new double[n];
    		for (int i = 0; i < n; i++) 
    			arry[i] = s.nextDouble();//分数
    		
    		//排序
    		double temp = 0;
    		for (int i = 0; i < arry.length; i++) {
    			for (int j = 0; j < arry.length-i-1; j++) {
    				if (arry[j]<arry[j+1]) {
    					temp = arry[j];
    					arry[j] = arry[j+1];
    					arry [j+1] = temp;
    				}
    			}
    		}
    		
    		System.out.println(Arrays.toString(arry));
    		
    		//去掉第一个和最后一个
    		ArrayList<Double> aList = new ArrayList<>();
    		for (int i = 1; i < arry.length-1; i++) {
    			aList.add(arry[i]);
    		}
    		System.out.print(aList.toString()+"
    ");
    		
    		//遍历数组
    		double sum = 0;//和
    		int size = aList.size();//分数个数
    		double avg;
    		for (Double double1 : aList) 
    			sum += double1;
    		avg = sum/size;
    		System.out.print(avg);
    	}
    }

    任务二:实现查数功能关键算法并绘制流程图(30 分) 求 n(2<=n<=10)个整数中倒数第二小的数。每一个整数都独立看成一个数,比如,有 三个数分别是 1,1,3,那么,第二小的数就是 1。(每个数 均小于 100) 说明:首先输入一个整数 n,然后输入 n 个数。请输出第 2 小的数。 例如输入: 5 -5 -10 10 50 80 程序输出第 2 小的数:-5 注意:使用循环实现。

    import java.util.Arrays;
    import java.util.Scanner;
    
    /*
    首先输入一个整数 n,然后输入 n 个数。请输出第 2 小的数。
    例如输入:
    5
    -5 -10 10 50 80
    程序输出第 2 小的数:-5
    */
    public class Task2 {
    	public static void main(String[] args) {
    		System.out.print("输入一个整数n:");
    		Scanner s = new Scanner(System.in);
    		int n = s.nextInt();
    		int[] as = new int[n];
    		for (int i = 0; i < as.length; i++) 
    			as[i] = s.nextInt();
    		
    		//排序
    		for (int i = 0; i < as.length; i++) {
    			for (int j = 0; j < as.length-i-1; j++) {
    				if (as[j]>as[j+1]) {
    					int temp = as[j];
    					as[j] = as[j+1];
    					as[j+1] = temp;
    				}
    			}
    		}
    		System.out.println(Arrays.toString(as));
    		System.out.print("第二小的数:"+as[1]);
    	}
    }

    任务三:实现分数排序功能关键算法并绘制流程图(30 分)
    小明的老师今天教了冒泡排序,但是小明在网上找到一种更加方便的排序,但是小明不 会使用,你能帮帮他吗?定义一个 n 输入 n(0<n<1000)然后输入 n 正整数,输出从小到大 输入结果 注意:按照题目描述完成程序,使用 sort 方法实现。 (2)作品提交要求见本模块附录 1 (3)实施条件要求见本模块附录 2 (4)评价标准见本模块附录 3

    import java.util.Arrays;
    import java.util.Scanner;
    /*
    使用 sort 方法实现
    */
    
    public class Task3 {
    	public static void main(String[] args) {
    		Scanner s = new Scanner(System.in);
    		System.out.print("输入n:");
    		int n = s.nextInt();
    		int[] arry = new int[n];
    		for (int i = 0; i < arry.length; i++) 
    			arry[i] = s.nextInt();
    		System.out.println(Arrays.toString(arry));
    		Arrays.sort(arry);
    		for (int i = 0; i < arry.length; i++) 
    			System.out.print(arry[i]);
    	}
    }
    

      

    30.试题编号:J1-30《英语辅导系统》关键算法

    (1)任务描述 随着国际化的到来英语在我们生活中就凸显得比较重要了,特别是学习编程语言的我们, 所以 B 公司决定开发一套英语辅助学习系统,通过完成趣味试题,采用游戏通关的方式,帮 助有需要的人更好的学习英语。

    任务一:实现趣味英语试题 1 关键算法并绘制流程图(30 分) 已知字符串数组 A,包含初始数据:a1,a2,a3,a4,a5;字符串数组 B,包含初始数据: b1,b2,b3,b4,b5。编写程序将数组 A、B 的每一对应数据项相连接,然后存入字符串数组 C, 并输出数组 C。输出结果为:a1b1,a2b2,a3b3,a4b4,a5b5。 例如:数组 A 的值为{“Hello ” , “Hello ” , “Hello ” , “Hello ” , “Hello ” }, 数组 B 的值为{“Jack” , “Tom” , “Lee” , “John” , “Alisa” },则输出结果 为{“Hello Jack” , “Hello Tom” , “Hello Lee” , “Hello John” , “Hello Alisa” }。
    注意:定义 2 个字符串数组 A、B,用于存储读取数据。定义数组 C,用于输出结果。 ①使用循环将数组 A、B 的对应项相连接,结果存入数组 C。 ②使用循环将数组 C 中的值输出。

    import java.util.Arrays;
    import java.util.Scanner;
    
    
    /*
    
    */
    public class Task1 {
    	public static void main(String[] args) {
    		Scanner s = new Scanner(System.in);
    		
    		System.out.print("输入数组A:");
    		String[] A = new String[5];
    		for (int i = 0; i < A.length; i++) 
    			A[i] = s.next();
    		
    		System.out.print("输入数组B:");
    		String[] B = new String[5];
    		for (int i = 0; i < B.length; i++) 
    			B[i] = s.next();
    		
    		System.out.print(Arrays.toString(A)+"
    ");
    		System.out.print(Arrays.toString(B)+"
    ");
    	
    		String[] C = new String[5];
    		for (int i = 0; i < C.length; i++) {
    			C[i] = A[i]+B[i];
    		}
    		
    		for (int i = 0; i < C.length; i++) 
    			System.out.print(C[i]);
    	}
    }

    任务二:实现趣味英语试题 2 关键算法并绘制流程图(30 分) 判断一个字符串是否是对称字符串,例如:“abc”不是对称字符串,“aba”、“ abba”、 “aaa”、“mnanm”是对称字符串。是的话输出“Yes”,否则输出“No”。 注意:使用循环和判断语句实现。

    import java.util.Scanner;
    
    /*
    判断一个字符串是否是对称字符串,例如:“abc”不是对称字符串,“aba”、“abba”、
    “aaa”、“mnanm”是对称字符串。是的话输出“Yes”,否则输出“No”。
    */
    public class Task2 {
    	public static void main(String[] args) {
    		if (fun()) {
    			System.out.print("Yes");
    		}
    		else 
    			System.out.print("No");
    	}
    	
    	public static boolean fun() {
    		System.out.print("输入一个字符串:");
    		Scanner s = new Scanner(System.in);
    		String str = s.nextLine();
    		if (str.charAt(0)==str.charAt(str.length()-1)) {
    			return true;
    		}
    		return false;
    		
    	}
    } 

    任务三:实现趣味英语试题 3 关键算法并绘制流程图(30 分) 编写一个程序实现统计一串字符串中的英文小写字母个数! 例如:输入“axZvnNgOuyi”,得到的值应该是 8; 注意:使用分支语句实现,且有输入输出,直接输出不计分 (2)作品提交要求见本模块附录 1 (3)实施条件要求见本模块附录 2 (4)评价标准见本模块附录 3

    import java.util.Scanner;
    /*
    使用 sort 方法实现
    */
    
    public class Task3 {
    	public static void main(String[] args) {
    		Scanner s = new Scanner(System.in);
    		System.out.print("输入n:");
    		String n = s.nextLine();
    		int count = 0;
    		for (int i = 0; i < n.length(); i++){ 
    			char sig = n.charAt(i);
    			if (Character.isLowerCase(sig)) //判读小写
    				count++;
    		}
    		System.out.print(count);
    	}
    }
    

      

     注:题目答案来源于网络,仅够参考学习

  • 相关阅读:
    PAT 1006 Sign In and Sign Out
    PAT 1004. Counting Leaves
    JavaEE开发环境安装
    NoSql数据库探讨
    maven的配置
    VMWARE 下使用 32位 Ubuntu Linux ,不能给它分配超过3.5G 内存?
    XCODE 4.3 WITH NO GCC?
    在苹果虚拟机上跑 ROR —— Ruby on Rails On Vmware OSX 10.7.3
    推荐一首让人疯狂的好歌《Pumped Up Kicks》。好吧,顺便测下博客园可以写点无关技术的帖子吗?
    RUBY元编程学习之”编写你的第一种领域专属语言“
  • 原文地址:https://www.cnblogs.com/xiaoqianbook/p/9673929.html
Copyright © 2011-2022 走看看