一、循环练习
1、求1~100的和
int sum = 0;
for(int i=1;i<=100;i++){
sum+=i;
}
System.out.println(sum);
2、求1~100所有偶数的和
int sum = 0;
for(i=1;i<=100;i++){
if(i%2==0){
sum+=i;
}
}
System.out.println(sum);
3、求10! .注:10! = 10*
9*
8…*
1
int i3=1;
for(int i=1;i<=10;i++){
i3*=i;
}
System.out.println(i3);
3.1、求10!+9!+8!+…+1! = ?
int jc=1;
int sum=0;
for(int i=1;i<=10;i++){
jc*=i;//2!*3=3,3!*4=4!
sum+=jc;
}
System.out.println(sum);
4、打印出如下图形
//*********
//*********
//*********
//*********
//*********
for(int i =1;i<=5;i++){
for(int j=1;j<=9;j++){
System.out.print("*");
}
System.out.println();
}
5、打印出如下图形
//*
//**
//***
//****
//*****
//******
for(int i=1;i<=6;i++){
for(int j=1;j<=i;j++){
System.out.print("*");
}
System.out.println();
}
5.1、打印出如下图形
//*
//***
//*****
//*******
//*********
//***********
for(int i=1;i<=6;i++){
for(int j=1;j<=i+(i-1);j++){
System.out.print("*");
}
System.out.println();
}
5.2、打印出如下图形
// a
// bbb
// ccccc
// 4444444
// 555555555
// 66666666666
//7777777777777`
char c1='a';
for(int i=1;i<=7;i++){
for(int k=6-i;k>=0;k--){//总行数减1,减当前行数
System.out.print(" ");
}
for(int j=1;j<=i+(i-1);j++){
if(c1<='c'){
System.out.print(c1);
}else{
System.out.print(i);
}
}
c1++;
System.out.println();
}
6、打印出如下图形
//a
//bb
//ccc
//dddd
//eeeee
char c2 = 'a';
for(int i=1;i<=5;i++){
for(int j=1;j<=i;j++){
System.out.print(c2);
}
c2++;
System.out.println();
}
7、求所有三位数的水仙花数。
for(int i=100;i<1000;i++){
int gw = i%10;
int sw = i/10%10;
int bw = i/100;
if(gw*gw*gw+sw*sw*sw+bw*bw*bw==i){
System.out.println(i);
}
}
8、九九乘法表
for(int i=1;i<=9;i++){
for(int j=1;j<=i;j++){
System.out.print(i+"*"+j+"="+(i*j)+"\t");
}
System.out.println();
}
9、求1-100所有质数(素数)的和
int sum=0;
for(int i=2;i<=100;i++){
boolean flag = true;
for(int j=2;j<i;j++){
if(i%j==0){
flag=false;
break;
}
}
if(flag){
sum+=i;
System.out.println(i);
}
}
System.out.println(sum);
9.1、打印101~200的素数
for(int i=101;i<=200;i++){
boolean flag = true;
for(int j=2;j<i;j++){
if(i%j==0){
flag = false;
break;
}
}
if(flag){
System.out.print(i+",");
}
}
10、已知一只公鸡5块钱,母鸡3块钱,小鸡1块钱3只,问100块钱买100只鸡有哪些方案?
for(int i=0;i<=20;i++){
for(int j=0;j<=33;j++){
for(int k=0;k<=99;k+=3){
if(i+j+k==100&&5*i+3*j+k/3==100){
System.out.println("公鸡:"+i+" "+"母鸡:"+j+" "+"小鸡:"+k);
}
}
}
}
11、冒泡排序
//冒泡排序:自左到右,比较两个相邻的元素,将值大的元素交换至右端
int[] arr = {23,-98,89,9,78,0};
for(int i=1;i<arr.length;i++){//比较的次数
for(int j=0;j<arr.length-i;j++){//
if(arr[j]>arr[j+1]){//相邻的两个数比较大小
int temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
for(int i=0;i<arr.length;i++){//遍历数组
System.out.println(arr[i]);
}
12、选择排序
//选择排序:从左到右,
int[] arr = {23,-98,89,9,78,0};
for(int i=0;i<arr.length;i++){//前一个比较的数
for(int j=i;j<arr.length;j++){//后一个比较的数
if(arr[i]>arr[j]){
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
for(int i=0;i<arr.length;i++){//遍历数组
System.out.print(arr[i]+",");
}