/*【程序14】
*题目:输入某年某月某日,判断这一天是这一年的第几天?
*/
import java.util.*;
public class Test14
{
public static void main(String[] args)
{
int count=0;
Scanner in=new Scanner(System.in);
System.out.print("请输入年:");
int year=in.nextInt();
System.out.print("请输入月:");
int month=in.nextInt();
System.out.print("请输入日:");
int day=in.nextInt();
switch(month)
{
case 12: count += 30;
case 11: count += 31;
case 10: count += 30;
case 9: count += 31;
case 8: count += 30;
case 7: count += 31;
case 6: count += 31;
case 5: count += 30;
case 4: count += 31;
case 3: count += 28;
case 2: count += 31;
case 1: count += 0;
}
count += day;
if (year%4==0&&year%100!=0&&month>=3)
{
count += 1;
}
System.out.print(year+"-"+month+"-"+day+"是一年中的第"+count+"天");
}
}
/*【程序15】
*题目:输入三个整数x,y,z,请把这三个数由小到大输出。
*/
import java.util.*;
public class Test15
{
public static void main(String[] args)
{
Scanner in = new Scanner(System.in);
System.out.print("\n请输入第一个数:");
int x = in.nextInt();
System.out.print("\n请输入第二个数:");
int y = in.nextInt();
System.out.print("\n请输入第三个数:");
int z = in.nextInt();
if(x>=y && x>=z)
{
System.out.print(x);
if(y>=z)
{
System.out.print(y);
System.out.print(z);
}
else if(z>=y)
{
System.out.print(z);
System.out.print(y);
}
}
else if(y>=x && y>=z)
{
System.out.print(y);
if(x>=z)
{
System.out.print(x);
System.out.print(z);
}
else if(z>=x){
System.out.print(z);
System.out.print(x);
}
}
else if(z>=x && z>=y)
{
System.out.print(z);
if(x>=y)
{
System.out.print(x);
System.out.print(y);
}
else if(y>=x)
{
System.out.print(y);
System.out.print(x);
}
}
}
}
/*【程序16】
*题目:输出9*9口诀。
*1.程序分析:分行与列考虑,共9行9列,i控制行,j控制列。
*/
public class Test16
{
public static void main(String[] args)
{
for(int i=1;i<10;i++)
{
for(int j=1;j<=i;j++)
{
System.out.print(j+"*"+i+"="+i*j+"\t");
}
System.out.println();
}
}
}
/*【程序17】
*题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个 第二天早上又将剩
*下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时见只 剩下一个桃子了。求第一天共摘了多少。
*1.程序分析:采取逆向思维的方法,从后往前推断。
*/
public class Test17
{
public static void main(String[] args)
{
int num=1;
for(int i=1;i<10;i++)
{
num=(num+1)*2;
}
System.out.println("第一天共摘了"+num+"个苹果");
}
}
/*题目:两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。已抽签决定比赛名单。有人向
队员打听比赛的名单。a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的名单。*/
public class Test18
{
public static void main(String[] args)
{
char[] arr1={'a','b','c'};
char[] arr2={'x','y','z'};
for(int i=0;i<arr1.length;i++)
{
for(int j=0;j<arr2.length;j++)
{
if((arr1[i]=='a'&&arr2[j]=='x')||(arr1[i]=='c'&&arr2[j]=='x')||(arr1[i]=='c'&&arr2[j]=='z'))
{
continue;
}
System.out.println(arr1[i] + " vs " + arr2[j]);
}
}
}
}
/*【程序19】
题目:打印出如下图案(菱形)
*
***
******
********
******
***
*
1.程序分析:先把图形分成两部分来看待,前四行一个规律,后三行一个规律,利用双重 for循环,第一层控制
行,第二层控制列。 */
public class Test19
{
public static void main(String[] args)
{
//上半部分
for(int i=0;i<4;i++)
{
for(int j=0;j<4-i;j++)
{
System.out.print(" ");
}
for(int j=0;j<i+1;j++)
{
System.out.print('*');
}
System.out.println();
}
//中部以及下半部分
for(int i=0;i<3;i++)
{
for(int j=0;j<i;j++)
{
System.out.print(" ");
}
for(int j=0;j<5-(i+1);j++)
{
System.out.print('*');
}
System.out.println();
}
}
}
/*【程序20】
题目:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。
1.程序分析:请抓住分子与分母的变化规律。 */
public class Test20
{
public static void main(String[] args)
{
int f1=1;
int f2=2;
int sum=0;
int temp;
for(int i=0;i<20;i++)
{
sum=sum+f2/f1;
temp=f1;
f1=f2;
f2=f2+temp;
}
System.out.println(sum);
}
}