6-10題


J1-6《智能統計系統》關鍵算法

(1)任務描述 生活中在處理各個問題的時候總是會離不開統計,例如統計學生的個數,統計火車買票 人數,統計今天是該年的第幾天等,所以某團隊開發出一套統計系統,用來進行各類統計。
任務一:實現統計今天是該月的有多少天關鍵算法並繪制流程圖(30 分) 從鍵盤上輸入一個年份值和一個月份值,輸出該月的天數。(說明:一年有 12 個月,大 月的天數是 31,小月的天數是 30。2 月的天數比較特殊,遇到閏年是 29 天,否則為 28 天。 例如,輸入 2011、3,則輸出 31 天。) 注意:使用分支結構語句實現。

package ex6;

import java.util.Scanner;

public class ex6_1 {

	public static void main(String[] args) {
		 Scanner sc=new Scanner(System.in);
         System.out.print("請輸入年份:");
         int year=sc.nextInt();
         System.out.print("請輸入月份:");
         int month=sc.nextInt();
         int d=0;
         switch (month) {
         case 1:
         case 3:
         case 5:
         case 7:
         case 8:
         case 10:
         case 12: {
             d = 31;
             break;
         }
         case 4:
         case 6:
         case 9:
         case 11: {
             d = 30;
             break;
         }
         case 2: {
             /**
              * 閏年:①:非整百年數除以4,無余為閏,有余為平;②整百年數除以400,無余為閏有余平
              * 二月:平年28天、閏年29天
              */
             if ((year % 100 !=0 &&year % 4 == 0) || (year % 100 == 0 && year%400==0)) {
                 d = 29;
             } else {
                 d = 28;
             }
         }
         default:
             break;
         }
         System.out.println(d);


	}


}

任務二:實現統計紙片對折關鍵算法並繪制流程圖(30 分) 假設一張足夠大的紙,紙張的厚度為 0.5 毫米。請問對折多少次以后,可以達到珠穆朗 瑪峰的高度(最新數據:8844.43 米)。請編寫程序輸出對折 次數。 注意:使用循環結構語句實現,直接輸出結果不計分。

package ex6;

public class ex6_2 {

	public static void main(String[] args) {
		double h = 8844.43 * 1000;//珠穆朗瑪峰的高度為8844.43米
		double p = 0.5;//一張紙一層的厚度為0.5毫米
		int sum = 0;
		for(int a = 0;a <8844;a++){
		if(p < h){
		p *= 2;//每折疊一次增加一倍高度
		sum += 1;//折疊一次
		}
		if(p >= h) break;//如果紙的高度等於或高於珠穆朗瑪峰的高度就退出循環
		}
		System.out.println(sum);

	}

}

任務三:實現統計同構數關鍵算法並繪制流程圖(30 分) 編寫程序輸出 2~99 之間的同構數。同構數是指這個數為該數平方的尾數,例如 5 的平 方為 25,6 的平方為 36,25 的平方為 625,則 5、6、25 都為同構數。 注意:調用帶有一個輸入參數的函數(或方法)實現,此函數(或方法)用於判斷某個整數 是否為同構數,輸入參數為一個整型參數,返回值為布爾型(是否為同構數)(2)作品提交要求見本模塊附錄 1 (3)實施條件要求見本模塊附錄 2 (4)評價標准見本模塊附錄 3

package ex6;

public class ex6_3 {

	public static void main(String[] args) {
		for(int i =2; i<=99; i++)
		{
			if(IsTG(i))	
				System.out.print(i+"\t");
		}
	}
	static boolean IsTG(int x)
	{
		boolean b=false;
		if(x>=1 && x<=9)	//i是1位數時
			{
			if(x== (x*x)%10)   b=true;
			}				
		else if(x>=10 && x<=99)//i是2位數時
			{
			if(x == (x*x)%100)   b=true;
			}				
		return b;
	}


}

J1-7《兒童智力游戲》關鍵算法

(1)任務描述 A 公司是專門的兒童網絡游戲公司,現在公司正在開發幾款智力游戲,其中需要設計幾 個算法模型。

任務一:實現堆積木游戲功能關鍵算法並繪制流程圖(30 分) 堆積木是小孩子最愛玩的游戲,但是因為小孩子的好奇心(比如誤食積木等)導致家長 們越不願意讓孩子去玩積木,為了解決這個問題 TX 公司開發了一套 VR 積木游戲,你要做的 是將用戶堆好的積木在屏幕中顯示出來。

*******

*****

***

*

注意:使用循環結構語句實現。

任務二:實現抓娃娃游戲功能關鍵算法並繪制流程圖(30 分) 請你在娃娃機里放十個娃娃,每個娃娃對應一個數字,該數字表示娃娃的大小。要求通 過計算能輸出最大的娃娃對應的數字,你可以這樣做: ① 定義一個大小為 10 的整形數組 a; ② 從鍵盤輸入 10 個整數,放置到數組 a 中; ③ 輸出數組 a 中的最大值。 注意:使用數組、循環結構語句實現。

任務三:實現算數游戲功能關鍵算法並繪制流程圖(30 分) 游戲主要是這樣的,計算正整數 n 每個數位上的數之積,例如 24,它的每個數位上的 數字之積為 2 * 4 = 8,現在要求你為 A 公司編寫一個計算函數(或方法)fun,將結果放到 c 中,並顯示輸出。作為參考答案。 (2)作品提交要求見本模塊附錄 1 (3)實施條件要求見本模塊附錄 2 (4)評價標准見本模塊附錄 3 8.試題編號:

package jncc;

import java.util.Scanner;

public class Test7 {
task1:實現堆積木游戲功能關鍵算法並繪制流程圖
*******
*****
***
*
	public static void main(String[] args) {
		for(int i=1;i<=4;i++) {
			
			for(int j=1;j<=2*i-1;j++)
				System.out.print("*");
			System.out.println();
		}
		

	}
task2:請你在娃娃機里放十個娃娃,每個娃娃對應一個數字,該數字表示娃娃的大小。要求通過計算能輸出最大的娃娃對應的數字,你可以這樣做: 1 定義一個大小為 10 的整形數組 a; 2 從鍵盤輸入 10 個整數,放置到數組 a 中; 3 輸出數組 a 中的最大值。 注意:使用數組、循環結構語句實現 public static void main(String[] args) { int[] a=new int[10]; int max=0; Scanner sc=new Scanner(System.in); System.out.println("請輸入10個數字:"); for(int i=0;i<a.length;i++) a[i]=sc.nextInt(); max=a[0]; for(int i=0;i<a.length;i++) if(a[i]>max) max=a[i]; System.out.print("最大的娃娃對應的數字為:"+max); }
任務三:實現算數游戲功能關鍵算法並繪制流程圖(30 分) 游戲主要是這樣的,計算正整數 n 每個數位上的數之積,例如 24,它的每個數位上的 數字之積為 2 * 4 = 8, 現在要求你為 A 公司編寫一個計算函數(或方法)fun,將結果放到 c 中,並顯示輸出。作為參考答案。 public static int fun(int n) { int result=1; while(n>0) { result*=n%10; n=n/10; } return result; } public static void main(String[] args) { System.out.print("請輸入一個正整數:"); Scanner sc=new Scanner(System.in); int number=sc.nextInt(); int s=fun(number); System.out.println("該數字的個數位的乘積為:"+s); } }

  

J1-8《商品銷售系統》關鍵算法

(1)任務描述 隨着網絡和信息化的發展,電子商務越來越受到人們的歡迎。商品銷售系統是電子商務 中非常重要的業務支撐系統,它能夠為企業和商家提供充足的信息和快捷的查詢手段,能夠 讓企業和商家了解自己的經營業績、銷售數據。現在需要完成以下任務來實現商品銷售系統。
任務一:實現打折功能關鍵算法並繪制流程圖(30 分) 編寫程序計算購買圖書的總金額:用戶輸入圖書的定價和購買圖書的數量,並分別保存 到一個 float 和一個 int 類型的變量中,然后根據用戶輸入的定價和購買圖書的數量,計算 購書的總金額並輸出。其中,圖書銷售策略為:正常情況下按 9 折出售,購書數量超過 10 本打 8.5 折,超過 100 本打 8 折。 要求:使用分支結構實現上述程序功能。

任務二:實現查詢功能關鍵算法並繪制流程圖(30 分)
所謂回文數是從左至右與從右至左讀起來都是一樣的數字,如:121 是一個回文數。編 寫程序,求出 100—200 的范圍內所有回文數的和。 要求:使用循環結構語句實現,直接輸出結果不計分。

任務三:實現圖形界面關鍵算法並繪制流程圖(30 分)

分析下列數據的規律,編寫程序完成如下所示的輸出。

1

1 1

1 2 1

1 3 3 1

1 4 6 4 1

1 5 10 10 5 1 要求:使用循環結構語句實現。 (2)作品提交要求見本模塊附錄 1 (3)實施條件要求見本模塊附錄 2 (4)評價標准見本模塊附錄 3 9.試題編號:

package jncc;

import java.util.Scanner;

public class Test8 {
	任務一:實現打折功能關鍵算法並繪制流程圖(30 分)
	編寫程序計算購買圖書的總金額:用戶輸入圖書的定價和購買圖書的數量,並分別保存 到一個 float 和一個 int 類型的變量中,然后根據用戶輸入的定價和購買圖書的數量,
	計算購書的總金額並輸出。其中,圖書銷售策略為:正常情況下按 9 折出售,購書數量超過 10 本打 8.5 折,超過 100 本打 8 折。
	要求:使用分支結構實現上述程序功能。
	public static void main(String[] args) {
		float price;
		int count;
		float discount,money;
		Scanner sc=new Scanner(System.in);
		System.out.print("請輸入圖書的定價:");
		price=sc.nextFloat();
		System.out.print("請輸入圖書的數量:");
		count=sc.nextInt();
		if(count>=100)
			discount=0.8f;
		else if(count>=10)
			discount=0.85f;
		else
			discount=0.9f;
		money=price*count*discount;
		System.out.println("您本次購書的總金額為:"+money);
	}
	
	任務二:實現查詢功能關鍵算法並繪制流程圖(30 分)
	所謂回文數是從左至右與從右至左讀起來都是一樣的數字,如:121 是一個回文數。編寫程序,求出 100—200 的范圍內所有回文數的和。
	要求:使用循環結構語句實現,直接輸出結果不計分。
	
	public static void main(String[] args) {
		String str=" ";
		for(int i=100;i<=200;i++)
		{
			if(i%10==i/100)
				System.out .print(i+" ");
		}
						
	}
	任務三:實現圖形界面關鍵算法並繪制流程圖(30 分) 分析下列數據的規律,編寫程序完成如下所示的輸出。
	1
	11
	121 1331 14641
	1 5 10 10 5 1
	要求:使用循環結構語句實現。 
	public static void main(String[] args) {

		int[][] a=new int[6][6];
		for(int i=0;i<6;i++){
			a[i][0]=1;
			a[i][i]=1;
		}
		for(int i=2;i<6;i++)
			for(int j=1;j<i;j++)
				a[i][j]=a[i-1][j-1]+a[i-1][j];
		
		for(int i=0;i<6;i++)
			for(int j=0;j<i+1;j++)
			{
				System.out.print(a[i][j]+" ");
				if(j==i)
					System.out.println();
			}
		
	}


}

 

J1-9《幼師培訓系統》關鍵算法

(1)任務描述 幼兒教師是教師隊伍中不可忽略的重要力量。她們主要以女性教育者為主,負責教育學 齡前兒童也就是幼兒。幼兒教師主要對幼兒進行啟蒙教育幫助他們獲得有益的學習經驗,促 進其身心全面和諧發展。幼兒教師在教育過程中的角色決不僅僅是知識的傳遞者,而且是幼 兒學習活動的支持者、合作者、引導者。本系統用於培訓幼師們與小朋友之間的游戲交互能 力,在游戲中可以幫助小朋友們的成長。為實現該系統,需要完成以下任務。

任務一:實現整除判斷游戲功能關鍵算法並繪制流程圖(30 分) 整除判斷游戲能顯著提高小朋友的邏輯思維能力,問題要求如下: • 能同時被 3、5、7 整除 • 能同時被 3、5 整除 • 能同時被 3、7 整除 • 能同時被 5、7 整除 • 只能被 3、5、7 中的一個整除 • 不能被 3、5、7 任一個整除 輸入一個整數,輸出滿足對應條件的結果。 要求:使用分支結構語句實現。

任務二:實現冒泡游戲功能關鍵算法並繪制流程圖(30 分) 原始數組:a[]={1,9,3,7,4,2,5,0,6,8} 排序后: a[]={0,1,2,3,4,5,6,7,8,9} 輸出排序后的數組,每個數字之間空一個空格; 要求:綜合使用分支、循環結構語句實現,直接輸出結果不計分。

任務三:實現數一數游戲關鍵算法並繪制流程圖(30 分) 分別輸入兩個字符串 s1 和 s2 ,請問 s1 中包含多少個 s2,如果沒有則輸出 0。 要求:使用循環。 (2)作品提交要求見本模塊附錄 1 (3)實施條件要求見本模塊附錄 2 (4)評價標准見本模塊附錄 3

package jncc;

import java.util.Scanner;

public class Test9 {
	任務一:實現整除判斷游戲功能關鍵算法並繪制流程圖(30 分) 整除判斷游戲能顯著提高小朋友的邏輯思維能力,問題要求如下:
		• 能同時被 3、5、7 整除
		• 能同時被 3、5 整除
		• 能同時被 3、7 整除
		• 能同時被 5、7 整除
		• 只能被 3、5、7 中的一個整除
		• 不能被 3、5、7 任一個整除 輸入一個整數,輸出滿足對應條件的結果。
		要求:使用分支結構語句實現。 
	public static void main(String[] args) {
	
		Scanner sc=new Scanner(System.in);
		System.out.print("輸入一個整數:");
		int number=sc.nextInt();
		if(number%3==0&&number%5==0&&number%7==0)
			System.out.println("該整數能同時被 3、5、7 整除");
		else if(number%3==0&&number%5==0)
			System.out.println("該整數能同時被 3、5整除");
		else if(number%3==0&&number%7==0)
			System.out.println("該整數能同時被 3、7整除");
		else if(number%5==0&&number%7==0)
			System.out.println("該整數能同時被 5、7整除");
		else if(number%3==0||number%5==0||number%7==0)
			System.out.println("只能被 3、5、7 中的一個整除");
		else
			System.out.println("不能被 3、5、7 中的任一個整除");

	}
	任務二:實現冒泡游戲功能關鍵算法並繪制流程圖(30 分) 原始數組:a[]={1,9,3,7,4,2,5,0,6,8}
		排序后: a[]={0,1,2,3,4,5,6,7,8,9} 輸出排序后的數組,每個數字之間空一個空格; 
		要求:綜合使用分支、循環結構語句實現,直接輸出結果不計分。
	public static void main(String[] args) {
		int a[]={1,9,3,7,4,2,5,0,6,8};
		System.out.print("排序前a[]=");
		for(int n:a)
			System.out.print(n+" ");
		for(int i=0;i<a.length;i++)
			for(int j=i+1;j<a.length;j++)
				if(a[j]<a[i]) {
					int t=a[j];
					a[j]=a[i];
					a[i]=t;
				}
		System.out.println();
		System.out.print("排序后a[]=");
		for(int n:a)
			System.out.print(n+" ");
	}
	任務三:實現數一數游戲關鍵算法並繪制流程圖(30 分)
		分別輸入兩個字符串 s1 和 s2 ,請問 s1 中包含多少個 s2,如果沒有則輸出 0。 要求:使用循環。
	public static void main(String[] ags) {
		int index=0,count=0;
		Scanner sc=new Scanner(System.in);
		System.out.print("請輸入s1:");
		String s1=sc.nextLine();
		System.out.print("請輸入s2:");
		String s2=sc.nextLine();
		index=s1.indexOf(s2);
		while((index=s1.indexOf(s2))!=-1) {
			s1=s1.substring(index+s2.length());
			count++;
		}
		if(count==0)
			System.out.println("s1中包含0個s2");
		else
			System.out.println("s1中包含"+count+"個s2");
		
	}

}

  

J1-10《字符處理系統》關鍵算法

(1)任務描述 在印刷生產中,要求對打印或印刷的數字字符進行實時識別校驗,如卡號和密碼,然后 把打印或印刷錯誤的字符串剔除。目前檢查字符串的主要方法是通過人工目視檢查,存在效 率低、准確度不高的問題。因此開發一套字符處理系統就顯得尤為重要,目前實現字符處理 系統還需要完成如下任務。

任務一:實現求平均值功能關鍵算法並繪制流程圖(30 分) 有一個長度為 n(n=100)的數列,該數列定義為從 2 開始的遞增有序偶數 ({2,4,6,...,200}),現在要求你按照順序每 m 個數求出一個平均值,如果最后不足 m 個, 則以實際數量求平均值。編程輸出該平均值序列。 要求: m 為大於等於 3 的整數。

任務二:實現最小值排頭功能關鍵算法並繪制流程圖(30 分) 輸入 20 個不同的整數,找出其中最小的數,將它與第 1 個輸入的數交換位置之后輸出 這些數。 要求:用數組解決任務,在輸入整數時各整數之間用空隔分隔。

任務三:實現統計字符數量功能關鍵算法並繪制流程圖(30 分) 對於給定的一個字符串,統計其中數字字符出現的次數。 要求:字符串只能由數字和字符組成。 (2)作品提交要求見本模塊附錄 1 (3)實施條件要求見本模塊附錄 2 (4)評價標准見本模塊附錄 3

package jncc;

import java.util.Scanner;

public class Test10 {
	任務一:實現求平均值功能關鍵算法並繪制流程圖(30 分)
	有一個長度為 n(n=100)的數列,該數列定義為從 2 開始的遞增有序偶數 ({2,4,6,...,200}),現在要求你按照順序每 m 個數求出一個平均值,
	如果最后不足 m 個, 則以實際數量求平均值。編程輸出該平均值序列。
	要求: m 為大於等於 3 的整數。
	public static void main(String[] args) {
		int[] a=new int[100];
		int t=0,k=0;
		Scanner sc=new Scanner(System.in);	
		System.out.print("請輸入n:");
		int n=sc.nextInt();
		System.out.print("請輸入m(m>=3):");
		int m=sc.nextInt();
		for(int i=0;i<n;i++)
			a[i]=2*(i+1);
		System.out.print("該數列的平均值序列為:");
		for(int i=0;i<n/m;i++)
		{
			for(int j=0;j<m;j++)
				t=t+a[i*m+j];
			System.out.print(t/m+" ");
		}
		if(n%m!=0)
			for(int i=0;i<n%m;i++)
				k=k+a[n-n%m+i];
		System.out.println(k/m+" "); 
		}

	任務二:實現最小值排頭功能關鍵算法並繪制流程圖(30 分)
	輸入 20 個不同的整數,找出其中最小的數,將它與第 1 個輸入的數交換位置之后輸出這些數。 
	要求:用數組解決任務,在輸入整數時各整數之間用空隔分隔。 
	public static void main(String[] args) {
		int min=0,k=0,t=0;
		int[] arr=new int[20];
		Scanner sc=new Scanner(System.in);
		System.out.println("請輸入20個整數(用空格分隔):");
		for(int i=0;i<arr.length;i++)
			arr[i]=sc.nextInt();
		min=arr[0];
		for(int i=0;i<arr.length;i++)
			if(arr[i]<min){
				min=arr[i];
				k=i;
			}
		if(k!=0)
		{
			t=arr[k];
			arr[k]=arr[0];
			arr[0]=t;
		}
		for(int a:arr)
			System.out.print(a+" ");	
	}
	
	任務三:實現統計字符數量功能關鍵算法並繪制流程圖(30 分) 對於給定的一個字符串,統計其中數字字符出現的次數。
	要求:字符串只能由數字和字符組成。
	public static void main(String[] args) {
		int count=0;
		Scanner sc=new Scanner(System.in);
		System.out.print("請輸入一個字符串(由數字和字符組成):");
		String str=sc.nextLine();
		if(!str.matches("[0-9A-Za-z]*"))
			System.out.println("字符串只能由數字和字母組成");
		else{
			char[] chs=str.toCharArray();
			for(int i=0;i<str.length();i++){
				if(chs[i]>='0' &&chs[i]<='9')
					count++;			
			}
			System.out.print("該行字符中的數字個數為:"+count);
		}
	}
}

 


免責聲明!

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



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