第三次考核
Posted chujiugirl
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第三次考核相关的知识,希望对你有一定的参考价值。
7-1 输出数组元素 (15 分)
本题要求编写程序,对顺序读入的n个整数,顺次计算后项减前项之差,并按每行三个元素的格式输出结果。
输入格式:
输入的第一行给出正整数n(1<n≤10)。随后一行给出n个整数,其间以空格分隔。
输出格式:
顺次计算后项减前项之差,并按每行三个元素的格式输出结果。数字间空一格,行末不得有多余空格。
输入样例:
10
5 1 7 14 6 36 4 28 50 100
输出样例:
-4 6 7
-8 30 -32
24 22 50
代码:
import java.util.Scanner; public class Main{ public static void main(String args[]){ Scanner reader = new Scanner(System.in); int n = reader.nextInt(); int[] a = new int[n]; int i=0; int cnt=0; for(i=0;i<n;i++){ a[i]=reader.nextInt(); } for (i = 0; i < n - 1; i++){ a[i] = a[i + 1] - a[i]; } for (i = 0; i < n - 1; i++){ if (i == 0){ System.out.printf("%d", a[0]); } else if (cnt == 3){ System.out.printf(" "); System.out.printf("%d", a[i]); cnt = 0; } else{ System.out.printf(" %d", a[i]); } cnt++; } } }
程序设计思路:
定义数组,for循环依次输出后一个数减去前一个数的差,并且利用cnt记数,三个一轮回,最后输出所有数。
运用到的知识点:定义数组,for循环
运行结果:
7-2 字符串逆序 (15 分)
输入一个字符串,对该字符串进行逆序,输出逆序后的字符串。
输入格式:
输入在一行中给出一个不超过80个字符长度的、以回车结束的非空字符串。
输出格式:
在一行中输出逆序后的字符串。
输入样例:
Hello World!
输出样例:
!dlroW olleH
代码:
import java.util.Scanner; public class Main{ public static void main(String args[]){ Scanner sca = new Scanner(System.in); String str = sca.nextLine(); StringBuffer sb = new StringBuffer(str); System.out.print(sb.reverse().toString()); } }
程序设计思路:
先创建对象,然后利用对象使用reverse()方法,将该对象实体中的字符串进行逆序输出,并返回当前对象。
运用到的知识点:StringBuffer 对象,StringBuffer 类的常用方法
运行结果:
7-3 选择法排序 (20 分)
本题要求将给定的n个整数从大到小排序后输出。
输入格式:
输入第一行给出一个不超过10的正整数n。第二行给出n个整数,其间以空格分隔。
输出格式:
在一行中输出从大到小有序的数列,相邻数字间有一个空格,行末不得有多余空格。
输入样例:
4
5 1 7 6
输出样例:
7 6 5 1
代码:
import java.util.Scanner; public class Main{ public static void main(String args[]){ Scanner reader = new Scanner(System.in); int n = reader.nextInt(); int[] a = new int[n]; int x=0; for(int i=0;i<n;i++){ a[i]=reader.nextInt(); } for(int i=0;i<n;i++){ for(int j=1;j<n;j++){ if(a[j]>a[j-1]){ x=a[j]; a[j]=a[j-1]; a[j-1]=x; } } } for(int i=0;i<n;i++){ System.out.print(a[i]); if(i!=n-1){ System.out.print(" "); } } } }
程序设计思路:
定义数组,数组中的数两两比较,第一个数比第二个数小,就交换两个数,一次轮流比较,最后利用for循环输出。
运用到的知识点:定义数组,for循环 选择排序
运行结果:
7-4 猜数字 (20 分)
一群人坐在一起,每人猜一个 100 以内的数,谁的数字最接近大家平均数的一半就赢。本题就要求你找出其中的赢家。
输入格式:
输入在第一行给出一个正整数N(≤10?4??)。随后 N 行,每行给出一个玩家的名字(由不超过8个英文字母组成的字符串)和其猜的正整数(≤ 100)。
输出格式:
在一行中顺序输出:大家平均数的一半(只输出整数部分)、赢家的名字,其间以空格分隔。题目保证赢家是唯一的。
输入样例:
7
Bob 35
Amy 28
James 98
Alice 11
Jack 45
Smith 33
Chris 62
输出样例:
22 Amy
代码片段:
char name[n][9]; int num[n]; for(int i=0;i<n;i++){ sum+=num[i]; } int ave=sum/n/2,min=999; System.out.println("%d",ave); for(int i=0;i<n;i++){ if(abs(num[i]-ave)<min){ min=abs(num[i]-ave); t=i; } } System.out,println(" %s",name[t]);
运行结果:
还未完成,时间不够,敬请期待下次发文。
学习内容 | 代码(行) | 博客(字) |
第一次过程性考核 | 90 | 356 |
第二次过程性考核 | 100 | 300 |
第三次过成性考核 | 120 | 400 |
数组 | 95 | |
常用实用类 | 89 | |
总计 | 494 | 1056 |
阶段性总结:电脑暂时安装不上Java,不方便练习。这阶段的练习和上阶段的练习相比,这阶段的学习思路比以前清晰,但是还有很多不足,考试的时候也经常出错,漏洞百出。
经常性完不成,以后还需要多多练习。java课程已经接近尾声,我觉得首要任务是熟练,熟悉掌握代码方法。
代码详见“码云”
——————https://gitee.com/girlchujiu/codes——————
以上是关于第三次考核的主要内容,如果未能解决你的问题,请参考以下文章