java一百题——7-6 个位数统计、7-7 计算摄氏温度

311 阅读2分钟

这是我参与11月更文挑战的第26天,活动详情查看:2021最后一次更文挑战

7-6 个位数统计

给定一个 k 位整数 N=dk−1​10k−1+⋯+d1​101+d0​ (0≤di​≤9, i=0,⋯,k−1, dk−1​>0),请编写程序统计每种不同的个位数字出现的次数。例如:给定 N=100311,则有 2 个 0,3 个 1,和 1 个 3。

输入格式:

每个输入包含 1 个测试用例,即一个不超过 1000 位的正整数 N。

输出格式:

对 N 中每一种不同的个位数字,以 D:M 的格式在一行中输出该位数字 D 及其在 N 中出现的次数 M。要求按 D 的升序输出。

输入样例:

100311
结尾无空行

输出样例:

0:2
1:3
3:1
结尾无空行

做题思路

这一题最开始想的很复杂,后来借阅了一下网上的题解恍然大悟。

实际上用一个arr数组表示所有的0-9个数,逐个读取数字,出现那个数字就在第几个下标的值加一(数组初始化为0)。

代码


import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		Scanner sc=new Scanner(System.in); 
		int[] arr= {0,0,0,0,0,0,0,0,0,0};//定义数组表示0-9的个数
		String k=sc.next();
		//int num=1-'1';
		//System.out.println(num);
		
		for(int i=0;i<k.length();i++) {
			int count=k.charAt(i)-48;
			arr[count]++;
		}
		for(int i=0;i<arr.length;i++) {
			if(arr[i]!=0) {
				System.out.println(i+":"+arr[i]);
			}
		}
	}

}

image.png

7-7 计算摄氏温度

给定一个华氏温度F,本题要求编写程序,计算对应的摄氏温度C。计算公式:C=5×(F−32)/9。题目保证输入与输出均在整型范围内。

输入格式:

输入在一行中给出一个华氏温度。

输出格式:

在一行中按照格式“Celsius = C”输出对应的摄氏温度C的整数值。

输入样例:

150
结尾无空行

输出样例:

Celsius = 65
结尾无空行

做题思路

对于运算符的使用,只要公式写对,类型取对,这题就是一个输出解决的事。

代码

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		Scanner sc=new Scanner(System.in); 
		int f=sc.nextInt();
		System.out.println("Celsius = "+5*(f-32)/9);
	}

}

image.png