3.2练习题

void PrintLots(linklist L1,linklist L2)//l2 instead of numbers
 {
 	linklist p1,p2;
 	p2=L2->next;
 	while(p2!=NULL)
 	{
 		int i=0;
 		p1=L1->next; 
 		while(i<p2->data-1&&p1!=NULL)
 		{
 			p1=p1->next;
 			i++;
		 }
		 printf("%4d",p1->data);
		 p2=p2->next;
	 }
 }

记得循环更新p1,不然会出bug

3.2 习题解析 1. 请设计一个Java应用程序,能够输入一个三位整数,然后输出该整数的各个数字,例如:输入123,则输出1、23。 ```java import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.print("请输入一个三位整数:"); int num = scanner.nextInt(); int digit1 = num / 100; int digit2 = num % 100 / 10; int digit3 = num % 10; System.out.println(digit1 + "、" + digit2 + "、" + digit3); } } ``` 2. 编写一个Java应用程序,能够输入学生的姓名和成绩,然后输出学生的姓名和成绩,最后输出所有学生的平均成绩。 ```java import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.print("请输入学生人数:"); int n = scanner.nextInt(); String[] names = new String[n]; double[] scores = new double[n]; double sum = 0; for (int i = 0; i < n; i++) { System.out.print("请输入第" + (i + 1) + "个学生的姓名:"); names[i] = scanner.next(); System.out.print("请输入第" + (i + 1) + "个学生的成绩:"); scores[i] = scanner.nextDouble(); sum += scores[i]; } double average = sum / n; System.out.println("所有学生的平均成绩为:" + average); for (int i = 0; i < n; i++) { System.out.println("第" + (i + 1) + "个学生的姓名为:" + names[i] + ",成绩为:" + scores[i]); } } } ``` 3. 编写一个Java应用程序,能够输入三个整数,然后输出它们的最大值和最小值。 ```java import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.print("请输入三个整数:"); int a = scanner.nextInt(); int b = scanner.nextInt(); int c = scanner.nextInt(); int max = a; int min = a; if (b > max) { max = b; } if (c > max) { max = c; } if (b < min) { min = b; } if (c < min) { min = c; } System.out.println("最大值为:" + max); System.out.println("最小值为:" + min); } } ``` 4. 编写一个Java应用程序,能够输入一个字符串,然后输出字符串中所有的数字字符。 ```java import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.print("请输入一个字符串:"); String str = scanner.nextLine(); for (int i = 0; i < str.length(); i++) { char c = str.charAt(i); if (c >= &#39;0&#39; && c <= &#39;9&#39;) { System.out.print(c + " "); } } } } ``` 5. 编写一个Java应用程序,能够输入一个字符串,然后输出字符串中所有的小写字母。 ```java import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.print("请输入一个字符串:"); String str = scanner.nextLine(); for (int i = 0; i < str.length(); i++) { char c = str.charAt(i); if (c >= &#39;a&#39; && c <= &#39;z&#39;) { System.out.print(c + " "); } } } } ``` 6. 编写一个Java应用程序,能够输入一个字符串,然后输出字符串中所有的大写字母。 ```java import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.print("请输入一个字符串:"); String str = scanner.nextLine(); for (int i = 0; i < str.length(); i++) { char c = str.charAt(i); if (c >= &#39;A&#39; && c <= &#39;Z&#39;) { System.out.print(c + " "); } } } } ``` 7. 编写一个Java应用程序,能够输入一个字符串,然后输出字符串中所有的字母字符。 ```java import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.print("请输入一个字符串:"); String str = scanner.nextLine(); for (int i = 0; i < str.length(); i++) { char c = str.charAt(i); if ((c >= &#39;a&#39; && c <= &#39;z&#39;) || (c >= &#39;A&#39; && c <= &#39;Z&#39;)) { System.out.print(c + " "); } } } } ``` 8. 编写一个Java应用程序,能够输入一个字符串,然后输出字符串中所有的非字母字符。 ```java import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.print("请输入一个字符串:"); String str = scanner.nextLine(); for (int i = 0; i < str.length(); i++) { char c = str.charAt(i); if (!((c >= &#39;a&#39; && c <= &#39;z&#39;) || (c >= &#39;A&#39; && c <= &#39;Z&#39;))) { System.out.print(c + " "); } } } } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值