#2018-12-8作业
1.使用循环输出:100.95.90.85.80…5
for(int i=100;i>=5;i-=5){
System.out.print(i+" ");
}
2.编程计算1至50中是7的倍数值之和
int sum = 0;
for(int i=1;i<=50;i++){
if(i%7==0){
sum = sum + i;
}
}
System.out.println(sum);
3.输入一批整数,输出其中的最大值和最小值,输入数字0结束循环。程序运行结束
Scanner sc = new Scanner(System.in);
System.out.println("input an integer and input 0 end");
int i = sc.nextInt();
int max = i;
int min = i;
while(i!=0){
System.out.println("input an integer and input 0 end");
i = sc.nextInt();
if(i==0){
break;
}
if(i>max){
max = i;
continue;
}
if(i<min){
min = i;
continue;
}
}
System.out.println("max"+max+"min"+min);
4、有若干只鸡兔同在一个笼子里,从上面数,有35个头,从下面数,有94只脚。问笼中各有多少只鸡和兔?
public class k10 {
public static void main(String[] args) {
int sum=35;
int foot=94;
for(int chicken=1;chicken<=foot/2;chicken++) {
int rabbit=sum-chicken;
if(chicken*2+rabbit*4==foot) {
System.out.println("鸡的只数为:"+chicken);
System.out.println("兔的只数为:"+rabbit);
break;
}
}
5.马克思的手稿中有这样一道有趣的数学题:
有30个人,其中有男人,女人,小孩。
他们在一家饭馆中吃饭,共花费50先令。
如果每个男人吃饭要花3先令,每个女人要花2先令,每个小孩要花1先令,
问男人,女人,小孩各多少人?
int sum=50;
int people=30;
int z;
for(int man=0;man!=17;man++) {
for(int woman=0;woman!=25;woman++) {
z=30-man-woman;
if(3*man+2*woman+z==50) {
System.out.println("男人有"+man+"人"+"女人有"+woman+"人"+"小孩有"+z+"人");
}
}
}
6.开发一个标题为"FlipFlop"的游戏应用程序。它从1计数到100,遇到3的倍数就替换为单次Flip,5的倍数就替换为单词"Flop",既为3的倍数又为5的倍数则替换为单词"FlipFlop",其余情况输出当前数字。
for(int i = 1;i<=100;i++){
if(i%3==0&&i%5==0){
System.out.println("FlipFlop");
}else if(i%3==0){
System.out.println("Flip");
}else if(i%3==0){
System.out.println("Flop");
}else{
System.out.println(i);
}
7.依次输入五句话,然后将它逆序输出。
Scanner sc = new Scanner(System.in);
String[] words = new String[5];
for(int i=0;i<words.length;i++){
System.out.println("The no."+(i+1)+" words");
words[i] = sc.nextLine();
}
System.out.println("Reverse output");
for(int i=words.length-1;i>=0;i--){
System.out.println(words[i]);
}
8.从键盘输入一位整数,当输入1~7时,显示对应英文星期名称的缩写。输入其它数字时提醒用户重新输入,输入数字0时结束程序
Scanner sc = new Scanner(System.in);
outer:while(true){
System.out.println("input week no.");
int i = sc.nextInt();
if(i>7&&i<0){
System.out.println("enter again");
continue;
}else{
switch(i){
case 0:
break outer;
case 1:
System.out.println("Mon");
break;
case 2:
System.out.println("Tue");
break;
case 3:
System.out.println("Wed");
break;
case 4:
System.out.println("Thu");
break;
case 5:
System.out.println("Fri");
break;
case 6:
System.out.println("Sat");
break;
case 7:
System.out.println("Sun");
break;
}
}
}
System.out.println("The program ends");
9.某百货商场当日消费积分最高的八名顾客,他们的积分分别是:18、25、7、36、13、2、89、63.编写程序找出最低的积分及他在数组中的原始位置(下标)
int[] member ={18,25,7,36,13,2,89,63};
int min = member[0];
int subscript = 0;
for(int i=1;i<member.length;i++){
if(min>member[i]){
min = member[i];
subscript = i;
}
}
System.out.println(subscript);
10.从键盘输入10个整数,合法值位1、2或3,不是这三个数则为非法数字,试编程统计每个整数和非法数字的个数
Scanner sc = new Scanner(System.in);
int[] nums = new int[10];
int x = 0;
int y = 0;
int z = 0;
System.out.println("input ten numbers");
for(int i=0;i<nums.length;i++){
nums[i] = sc.nextInt();
}
System.out.print("The numbers is");
for(int i=0;i<nums.length;i++){
System.out.print(nums[i]+" ");
if(nums[i]==1){
x++;
}else if(nums[i]==2){
y++;
}else if(nums[i]==3){
z++;
}
}
System.out.println();
System.out.println("Number of number1 "+x);
System.out.println("Number of number2 "+y);
System.out.println("Number of number3 "+z);
System.out.println("Number of Invaild number "+(nums.length-x-y-z));
11.现要创建一个新数组newArray[],要求新数组中的元素与原数组中的元素逆序,并且如果原数组的元素值小于0,在新数组中存储。试编程输出新数组中的元素,程序运行结果如图
int[] array = {1,3,-1,5,-2};
int[] newArray = new int[array.length];
for(int i=array.length-1,j=0;i>=0;i--,j++){
if(array[i]<0){
newArray[j]=0;
}else{
newArray[j] = array[i];
}
}
System.out.println("The original array");
for(int i:array){
System.out.print(i+" ");
}
System.out.println();
System.out.println("The array processed in reverse order");
for(int i:newArray){
System.out.print(i+" ");
}