昨天一直在练习一些经典的题目,没有时间呀。突然发现时间好宝贵,时间都不够用。
以下练习题的解法纯属个人见解。如有问题,还请指出!
/*1、循环录入学生的成绩,计算平均分,学生的个数不定,当输入的分数小于0 的时候,结束录入并计算平均分
*/
import java.util.Scanner;
public class bcTest01 {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
int sum = 0;
int count = 0;
for(;;) {
System.out.print("请输入第" + (count + 1) +"学生成绩:");
int score = s.nextInt();
if (score <0){
break;
}
sum += score;
count++;
}
System.out.println("共录入" + count + "个成绩,平局分为:" + (1.0*sum/count));
}
}
/* 打印菱形
*
***
*****
*******
*********
***********
*************
***************
*************
***********
*********
*******
*****
***
*
*/
public class inserLooper03 {
public static void main(String[] args) {
int lineNum = 8;
for (int i = 1; i <= lineNum; i++) {
for (int j = 0; j < (lineNum-i); j++) {
System.out.print(" ");
}
for (int j = 0; j < (2*i-1); j++) {
System.out.print("*");
}
System.out.println();
}
for (int i = lineNum -1; i > 0; i--) {
for (int j = 0; j < (lineNum-i); j++) {
System.out.print(" ");
}
for (int j = 0; j < (2*i-1); j++) {
System.out.print("*");
}
System.out.println();
}
}
}
/* *
***
* * *
* * *
* * *
* * *
* * *
* * *
*/
public class insertLooper07 {
public static void main(String[] args) {
int lineNum = 8;
for (int i = 1; i <= lineNum; i++) {
for (int j = 0; j < (lineNum-i); j++) {
System.out.print(" ");
}
for (int j = 0; j < (2*i-1); j++) {
if (j ==0){
System.out.print("*");
}else{
if(j==0 || j==2*(i -1) || j==i-1){
System.out.print("*");
}else {
System.out.print(" ");
}
}
}
System.out.println();
}
}
}
/*有1、2、3、4,四个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?*/
public class Homework01 {
public static void main(String[] args) {
int count = 0;
for (int a = 1; a <= 4; a++) {
for (int b = 1; b <=4; b++) {
for ( int c = 1; c <=4; c ++){
if (a != b && a != c && b !=c ){
int sum= a*100 + b*10 + c;
count++;
System.out.println(sum);
}
}
}
}
System.out.println("共" + count + "个");
}
}
//输出9*9口诀
public class Homework03 {
public static void main(String[] args) {
for (int i = 1; i <= 9; i++) {
for (int j = 1; j <= i; j++) {
System.out.print(j + "*" + i + "=" + (j * i) + "\t");
}
System.out.println();
}
}
}
/*一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。
*/
import java.util.Scanner;
public class Homework06 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner s = new Scanner(System.in);
System.out.print("请输入一个五位数:");
int i = s.nextInt();
int a,b,c,d;
if (i >= 10000 && i <= 99999 ){
//个位
a = i%10;
//十位
b = (i/10)%10;
//千位
c = (i/1000)%10;
//万位
d = i/10000;
if (a == d && b == c){
System.out.println(i + " 是 回文数!");
}else{
System.out.print(i + " 不 是回文数!");
}
}else{
System.out.println("输入数字不是五位数");
}
}
}
/*100匹马驮着100担货物,大马一匹驮3担,中马2担,小马两匹驮1担。请输出所有可以满足题目要求的马匹的组合。*/
public class Homework10 {
public static void main(String[] args){
for (int b = 0;b <=33; b++ ){
for (int m = 0; m <= 50; m++){
for (int s = 0;s <= 100; s++){
if (((b+m+s) == 100) && ((3*b+2*m +0.5*s) == 100)){
System.out.println("大马:" + b + ",中马:" + m + ",小马:" + s);
}
}
}
}
}
}
/*用循环的思路求出2345678倒序后的数字,输出该数字(动态输入一个数字也行)*/
import java.util.Scanner;
public class Test3 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner s = new Scanner(System.in);
System.out.print("请输入一个整数:");
int num = s.nextInt();
System.out.print("该数字倒序为:");
for (;num != 0; ) {
System.out.print(num%10);
num = num/10;
}
}
}
/*动态输入一个数字后,判断该数字是不是素数
(素数就是除了1和本身不可以被其他数字整除:
例如1,2,3,5,7,11,13,17,
判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除, 则表明此数不是素数,反之是素数*/
import java.util.Scanner;
public class Test4 {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
System.out.print("请输入一个整数:");
int num = s.nextInt();
if (num == 1 || num ==2 ){
System.out.println("该数字是 素数");
} else {
int i = 2;
// 可用 i< Math.sqrt(num),也可以 i < num
for (; i < num; i++) {
if (num%i == 0){
System.out.println("该数不是 素数");
break;
}
}
if (i == num){
System.out.println("该数字 是素数");
}
}
}
}