第一题:摄氏度跟华氏摄氏度的转换问题:
package week2;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
import javax.naming.ldap.SortControl;
/**
* 华氏温度与摄氏温度间的转换问题
* @author Lenovo_PC
*/
public class Test01 {
public static void main(String[] args) {
// TODO Auto-generated method stub
choose();
}
private static void choose() {
// TODO Auto-generated method stub
System.out.println("请选择方式");
System.out.println("1.正序表");
System.out.println("2.倒序表");
System.out.println("3.自定义");
System.out.println("4.退出");
Scanner input = new Scanner(System.in);
int number = 0;
number = input.nextInt();
switch (number) {
case 1:
Sort(1);
break;
case 2:
Sort(2);
break;
case 3:
Personal();
break;
case 4:
System.exit(0);
break;
default:
System.out.println("请输入正确的编号");
break;
}
}
private static void Personal() {
// TODO Auto-generated method stub
System.out.println("请输入需要转换的度数");
Scanner input = new Scanner(System.in);
int number = 0;
number = input.nextInt();
float result = 5 / 9.0f * (number - 32);
System.out.printf("%.1f\n",result);
choose();
}
private static void Sort(int i) {
// TODO Auto-generated method stub
int[] pre = {0,20,40,60,80,100,120,140,160,180,200,220,240,260,280,300};
List<Float> list = new ArrayList<Float>();
float result;
for (int j = 0; j < pre.length; j++) {
result = 5 / 9.0f * (pre[j] - 32);
list.add(result);
}
if (i==1) {
for (int j = 0; j < pre.length; j++) {
System.out.printf(pre[j]+"\t");
System.out.printf("%.1f\n",list.get(j));
}
}else {
for (int j = pre.length-1; j >= 0; j--) {
System.out.printf(pre[j]+"\t");
System.out.printf("%.1f\n",list.get(j));
}
}
choose();
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
OC:(部分主要代码)
//
// ChangeDemo.m
// lesson1
//
// Created by Zb_tjw on 2017/10/8.
// Copyright © 2017年 Zb_tjw. All rights reserved.
//
#import "ChangeDemo.h"
@implementation ChangeDemo
-(void) choose{
NSLog(@"请选择方式:");
NSLog(@"1.正序表:");
NSLog(@"2.倒序表:");
NSLog(@"3.自定义:");
NSLog(@"4.退出:");
// char *cstring = malloc(sizeof(char) * 2);
// scanf("%s", cstring);
// NSString *string = [NSString stringWithUTF8String:cstring];
int number = 0;
scanf("%d",&number);
switch (number) {
case 1:
[self Sort:1];
break;
case 2:
[self Sort:2];
break;
case 3:
[self Personal];
break;
case 4:
exit(0);
break;
default:
NSLog(@"请输入正确的编号");
break;
}
}
-(void) Sort:(int)i{
// TODO Auto-generated method stub
int pre[] = {0,20,40,60,80,100,120,140,160,180,200,220,240,260,280,300};
float after[16];
float result;
for (int j = 0; j < 16; j++) {
result = 5 / 9.0f * (pre[j] - 32);
after[j] = result;
}
if (i==1) {
for (int j = 0; j < 16; j++) {
NSLog(@"%d %f",pre[j],after[j]);
}
}else {
for (int j = 15; j >= 0; j--) {
NSLog(@"%d %f",pre[j],after[j]);
}
}
[self choose];
}
-(void) Personal{
// TODO Auto-generated method stub
NSLog(@"请输入需要转换的度数");
int number = 0;
scanf("%d",&number);
float result = 5 / 9.0f * (number - 32);
NSLog(@"%.1f\n",result);
[self choose];
}
@end
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
第二题:找出所有的水仙花数
package week2;
import java.util.ArrayList;
import java.util.List;
/**
* 求所有的水仙花数
* @author Lenovo_PC
*/
public class Test02 {
public static void main(String[] args){
System.out.println("所有水仙花数:");
int ge,shi,bai;
List<Integer> list = new ArrayList<Integer>();
for (int i = 100; i < 1000; i++) {
ge = i % 10;
shi = i / 10 % 10;
bai = i / 100;
if (Math.pow(ge, 3)+Math.pow(shi, 3)+Math.pow(bai, 3) == i) {
list.add(i);
}
}
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
OC:(主要就是所找个数不确定,所以不能用数组,用动态内存分配来实现,时隔两年再一次玩动态内存分配又有了点当时做ASM题的感觉啊)
//
// Flower.m
// changeDemo
//
// Created by Zb_tjw on 2017/10/10.
// Copyright © 2017年 Zb_tjw. All rights reserved.
//
#import "Flower.h"
@implementation Flower
- (void)find{
NSLog(@"所有水仙花数:");
int ge,shi,bai;
int *result = NULL;
result = (int *)malloc(sizeof(int));
int length = 0;
for (int i = 100; i < 1000; i++) {
ge = i % 10;
shi = i / 10 % 10;
bai = i / 100;
if (ge*ge*ge+shi*shi*shi+bai*bai*bai == i) {
result[length] = i;
result = (int *)realloc(result, sizeof(int));
length++;
}
}
for (int i = 0; i < length; i++) {
NSLog(@"%d", result[i]);
}
}
@end
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
第三题:求1到20的阶乘的和
package week2;
/**
* 1到20的阶乘和
* @author Lenovo_PC
*/
public class Test03 {
public static void main(String[] args) {
// TODO Auto-generated method stub
double sum = 0,multiply = 1;
for (int i = 1; i <= 20; i++) {
for (int j = 1; j <= i; j++) {
multiply *= j;
}
sum += multiply;
multiply = 1;
}
System.out.println("1到20的阶乘和为:"+sum);
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
OC:(部分主要的实现代码)
//
// Multiply.m
// changeDemo
//
// Created by Zb_tjw on 2017/10/10.
// Copyright © 2017年 Zb_tjw. All rights reserved.
//
#import "Multiply.h"
@implementation Multiply
- (void)mutiply{
double sum = 0,multiply = 1;
for (int i = 1; i <= 20; i++) {
for (int j = 1; j <= i; j++) {
multiply *= j;
}
sum += multiply;
multiply = 1;
}
NSLog(@"1到20的阶乘和为:%e",sum);
}
@end
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26