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();
}
}