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()+"\r");
		
		//遍歷數組
		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)+"\r");
		System.out.print(Arrays.toString(B)+"\r");
	
		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);
	}
}

  

 注:題目答案來源於網絡,僅夠參考學習


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM