标签:二次 博客 回车 选择排序 阶段 eve system.in 对象 nbsp
本题要求编写程序,对顺序读入的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("\n");
System.out.printf("%d", a[i]);
cnt = 0;
}
else{
System.out.printf(" %d", a[i]);
}
cnt++;
}
}
}
定义数组,for循环依次输出后一个数减去前一个数的差,并且利用cnt记数,三个一轮回,最后输出所有数。
运用到的知识点:定义数组,for循环
运行结果:
输入一个字符串,对该字符串进行逆序,输出逆序后的字符串。
输入在一行中给出一个不超过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 类的常用方法
运行结果:
本题要求将给定的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循环 选择排序
运行结果:
一群人坐在一起,每人猜一个 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课程已经接近尾声,我觉得首要任务是熟练,熟悉掌握代码方法。
代码详见“码云”
标签:二次 博客 回车 选择排序 阶段 eve system.in 对象 nbsp
原文地址:https://www.cnblogs.com/liuji1/p/9901903.html