2031 进制转换:
Problem Description
输入一个十进制数N,将它转换成R进制数输出。
Input
输入数据包含多个测试实例,每个测试实例包含两个整数N(32位整数)和R(2<=R<=16, R<>10)。
Output
为每个测试实例输出转换后的数,每个输出占一行。如果R大于10,则对应的数字规则参考16进制(比如,10用A表示,等等)。
Sample Input
7 2 23 12 -4 3
Sample Output
111 1B -11
本题是进制之间的转换,我主要分了三种情况,负数、余数大于10的和余数不大于10的,题目比较简单,一次就AC过。
大家可以参考看看,可以互相学习!
import java.util.Scanner;
public class Main{
public static void main(String[] args) {
String s="ABCDEF";
Scanner in =new Scanner(System.in);
while(in.hasNext()) {
int yushu=0;
int flag=0;
int number=in.nextInt();
int R=in.nextInt();
String result="";
if(number<0) {number=-number;flag=1;}
yushu=number%R;
while(number!=0){
if(yushu<10){
result+=""+yushu;
//System.out.print("result1:"+result);
}
else{
result+=s.charAt(yushu-10);
//System.out.print("result2:"+result);
}
number=number/R;
yushu=number%R;
//System.out.println(number);
//System.out.println(yushu);
}
String Result=new StringBuffer(result).reverse().toString();
if(flag==1) System.out.print("-"+Result);
if(flag==0) System.out.print(Result);
System.out.println();
}
}
}
2090 算菜价:
Problem Description
妈妈每天都要出去买菜,但是回来后,兜里的钱也懒得数一数,到底花了多少钱真是一笔糊涂帐。现在好了,作为好儿子(女儿)的你可以给她用程序算一下了,呵呵。
Input
输入含有一些数据组,每组数据包括菜种(字串),数量(计量单位不论,一律为double型数)和单价(double型数,表示人民币元数),因此,每组数据的菜价就是数量乘上单价啊。菜种、数量和单价之间都有空格隔开的。
Output
支付菜价的时候,由于最小支付单位是角,所以总是在支付的时候采用四舍五入的方法把分头去掉。最后,请输出一个精度为角的菜价总量。
Sample Input
青菜 1 2 罗卜 2 1.5 鸡腿 2 4.2
Sample Output
13.4
本题其实难度不大,主要在于输入的结束标志是“Control+Z”,表示结束输入,直接输入结果,上代码。
import java.util.Scanner;
public class Main{
public static void main(String[] args) {
Scanner in=new Scanner(System.in);
double sum=0;
int i=0;
double a[]=new double[100];
while(in.hasNext()) {
String s=in.next();
double count=in.nextFloat();
double price=in.nextFloat();
a[i++]=count*price;
}
for(i=0;i<a.length;i++)
sum+=a[i];
String str=String.format("%.1f",sum);
System.out.println(str);
in.close();
}
}