JavaScript_牛客網_程式設計初學者入門訓練(11-20題解)

2020-08-10 14:13:39

程式設計初學者入門訓練第11-20題解答(js)

本文章儘量用簡潔的程式碼去完成題目要求,話不多說,上程式碼(因爲js語言的限制,所以有些題是騷操作,娛樂而已),後期會不斷更新的。
注:有些題找不見了,把有的題寫了一下。

11.學生基本資訊的輸入輸出

題目描述:依次輸入一個學生的學號,以及3科(C語言,數學,英語)成績,在螢幕上輸出該學生的學號,3科成績。
輸入描述:學號以及3科成績,學號和成績之間用英文分號隔開,成績之間用英文逗號隔開。
輸出描述:學號,3科成績,輸出格式詳見輸出樣例。

let str1 = readline();
let str = str1.split(';');
let w1 = str[0];
let s = str[1].split(',');
let s1 = Math.round(s[0]*100)/100;
let s2 = Math.round(s[1]*100)/100;
let s3 = Math.round(s[2]*100)/100;
let res = 'The each subject score of  No. ' +w1+ ' is ' + s1.toFixed(2)+', '+s2.toFixed(2)+', '+s3.toFixed(2)+'.'
console.log(res)

12.字元金字塔

題目描述:輸入一個字元,用它構造一個三角形金字塔。
輸入描述:輸入只有一行,一個字元。
輸出描述:該字元構成的三角形金字塔。

let str = readline();
for(let i =0;i<5;i++){
    let s = '';
    for(let j= 4-i;j>0;j--){
        s += ' ';
    }
    for(let k= 0;k<i+1;k++){
        s = s + str +' ';
    }
    console.log(s)
}

13.ASCII碼

題目描述:BoBo教KiKi字元常數或字元變數表示的字元在記憶體中以ASCII碼形式儲存。BoBo出了一個問題給KiKi,轉換以下ASCII碼爲對應字元並輸出他們。
73, 32, 99, 97, 110, 32, 100, 111, 32, 105, 116 , 33
輸入描述:無。
輸出描述:轉換輸出題目中給出的所有ASCII到對應的字元。

let a = String.fromCharCode(73);
let b = String.fromCharCode(32);
let c = String.fromCharCode(99);
let d = String.fromCharCode(97);
let e = String.fromCharCode(110);
let w = String.fromCharCode(32);
let v = String.fromCharCode(100);
let f = String.fromCharCode(111);
let g = String.fromCharCode(32);
let h = String.fromCharCode(105);
let i = String.fromCharCode(116);
let k = String.fromCharCode(33);
console.log(a+b+c+d+e+w+v+f+g+h+i+k)

14.出生日期的輸入輸出

題目描述:輸入一個人的出生日期(包括年月日),將該生日中的年、月、日分別輸出。
輸入描述:輸入只有一行,出生日期,包括年月日,年月日之間的數位沒有分隔符。
輸出描述:三行,第一行爲出生年份,第二行爲出生月份,第三行爲出生日期。輸出時如果月份或天數爲1位數,需要在1位數前面補0。

let str = readline();
let s = str.split('');
let year = s.slice(0,4).join('');
let month = s.splice(4,2).join('');
let date = s.splice(4,2).join('');
console.log('year='+year)
console.log('month='+month)
console.log('date='+date)

15.按照格式輸入並交換輸出

題目描述:輸入兩個整數,範圍-2^31~ 2**31-1,交換兩個數並輸出。
輸入描述:輸入只有一行,按照格式輸入兩個整數,範圍,中間用「,」分隔。
輸出描述:把兩個整數按格式輸出,中間用「,」分隔。

let str = readline();
let s = str.split(',');
let s1 = s[0].split('=');
let s2 = s[1].split('=');
[s1[1],s2[1]]=[s2[1],s1[1]];
s1 =[s1[0],s1[1]].join('=');
s2 =[s2[0],s2[1]].join('=');
let r = [s1,s2].join(',');
console.log(r)

16.字串轉ASCII碼

題目描述:BoBo教KiKi字元常數或字元變數表示的字元在記憶體中以ASCII碼形式儲存。BoBo出了一個問題給KiKi,輸入一個字元,輸出該字元相應的ASCII碼。
輸入描述:一行,一個字元。
輸出描述:一行,輸出輸入字元對應的ASCII碼。

let str = readline();
console.log(str.charCodeAt())

17.計算表達式的值

題目描述:請計算表達式「(-8+22)×a-10+c÷2」,其中,a = 40,c = 212。
輸入描述:無。
輸出描述:(-8+22)×a-10+c÷2計算之後的結果,爲一個整數。。

let a = 40;
let c = 212;
console.log((-8+22)*a-10+c/2)

18.計算帶餘除法

題目描述:給定兩個整數a和b (-10,000 < a,b < 10,000),計算a除以b的整數商和餘數。
輸入描述:一行,包括兩個整數a和b,依次爲被除數和除數(不爲零),中間用空格隔開。
輸出描述:一行,包含兩個整數,依次爲整數商和餘數,中間用一個空格隔開。

let str = readline();
let s = str.split(' ');
let s1 = Number(s[0]);
let s2 = Number(s[1]);
let r1 = Math.floor(s1/s2);
let r2 = s1 -r1*s2;
let list = r1 + ' '+r2;
console.log(list)

19.反向輸出四位數

題目描述:將一個四位數,反向輸出。
輸入描述:一行,輸入一個整數n(1000 <= n <= 9999)。
輸出描述:針對每組輸入,反向輸出對應四位數。

let str =  readline();
let s = str.split('').reverse().join('');
console.log(s)

御劍江湖載酒行,美人如玉翩若鴻。十年一劍情如夢,贏得生前身後名。
未完待續,loading…