2019.7.28关于数组和循环的八道题

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>one</title>
</head>
<body>
<button onclick="one()">最大最小</button></br>
<button onclick="two()">找数</button></br>
<button onclick="three()">排序</button></br>
<button onclick="four()">交换</button></br>
<button onclick="five()">购物</button></br>
<button onclick="six()">统计</button></br>
<button onclick="seven()">打印</button></br>
<button onclick="eight()">保存</button>

<script type="text/javascript">
//1.从键盘接受10个整数,求出其中的最大值和最小值。
function one(){
var arr =[10];
for(var i = 0;i < 10;i++){
arr[i] = Number(prompt('请输入下标为' + i +'的数:'));
}
for(var i = 1;i < arr.length;i++){
if(arr[0] < arr[i]){
arr[0] ^= arr[i]
arr[i] ^= arr[0]
arr[0] ^= arr[i]
}

}
alert('最大的数是:' + arr[0])

for(var i = 0;i < arr.length - 1;i++){
if(arr[9] > arr[i]){
arr[9] ^= arr[i]
arr[i] ^= arr[9]
arr[9] ^= arr[i]
}
}alert('最小的数是:' + arr[9])
}

//2.输入10个数,保存在一个数组中,在数组中查找某个数字,给出是否找到信息,如果找到了输出该数在数组中所处的位置,如果找不到输出“找不到”
function two(){
var arr = [10];
var count = 0;
for(var i = 0;i < 10;i++){
arr[i] = Number(prompt('请输入下标为' + i +'的数:'));
console.log('请输入下标为' + i +'的数是:' + arr[i])
}
var num = prompt('请输入查找的数字:');
for(var key in arr){
if(num == arr[key]){
alert('该数字是所在的下标位置为:' + key);
break;
}else{
count += 1;
}if(count == 10){
alert('找不到');
}
}
}

//3.如果一个数组保存元素是有序的(从大到小),向这个数组中插入一个数,使得插入后的数组元素仍然保持有序。
function three(){
var arr = [10];
var count = 0;
for(var i = 0;i < 10;i++){
arr[i] = Number(prompt('请从大到小输入下标为' + i +'的数:'));
}
console.log('插入前的数组为:' + String(arr))
var num = Number(prompt('请输入插入的数字:'));
for(var i = 0;i < arr.length;i++){
if(num > arr[i]){
arr.splice(i,0,num);
break;
}
else{
count += 1;
}
if (count == 10) {
arr.splice(arr.length,0,num);
}
}
console.log('插入' + num + '之后的数组为:' + arr)
}

//4.将一个数组中的元素逆序输出,即第一个元素和最后一个元素交换,第二个数与倒数第二元素交换…..,例如:原数组为:9 2 5 7 8,逆序后的数组为:8 7 5 2 9
function four(){
var arr = [10];
for(var i = 0;i < 10;i++){
arr[i] = Number(prompt('请输入下标为' + i +'的数:'));
}
console.log('交换前的数组为:' + String(arr));
for(var i = 0;i < arr.length/2;i++){
arr[i] ^= arr[arr.length-1-i];
arr[arr.length-1-i] ^= arr[i];
arr[i] ^= arr[arr.length-1-i];

}
console.log('交换后的数组为:' + arr);
}

// 5.顾客从超市采购了10件商品,编写一个程序,用于接受每件商品的价格,计算应付的总金额。并分别打印出各个商品的价格以及应付的总金额的小票。
function five(){
var arr = [10];
var resolt = 0;
for(var i = 1;i <= 10;i++){
arr[i-1] = Number(prompt('请输入第' + i + '件商品的价格:'));
console.log('第' + i + '件商品的价格是:' + arr[i-1]);
resolt += arr[i-1]
}
console.log('总价格为:' + resolt);
}

// 6.编写一个程序,用于产生20个0-10之间的随机数,将这20个随机数存入数组,并通过函数统计这些随机数中某个数出现的次数
function six(){
var arr = [10];
var count = 0;
for(var i = 1;i <= 20;i++){
arr[i-1] = parseInt(Math.random()*10);
}console.log(String(arr));
var num = prompt('请问要统计第几个数:')
for(var i = 0;i < arr.length;i++){
if(arr[num-1] == arr[i]){
count += 1;
}
}console.log('第' + num + '个数字出现了' + count + '次');
}

// 7.某公司采用公用电话传递数据,数据是4位整数,在传递过程中是加密的,加密规则如下:每位上的数字加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换,编写一个程序,用于接受一个4位整数,并且打印输出加密后的数字
function seven(){
var arr = [4];
for(var i = 1;i <= 4;i++){
arr[i-1] = Number(prompt('请输入第' + i + '位数:'));
console.log('第' + i + '位数是' + arr[i-1]);
arr[i - 1] = (arr[i - 1] + 5) % 10;
console.log('加密后该数字为' + arr[i - 1]);
}
arr[0] ^= arr [3];arr[3] ^= arr[0];arr[0] ^= arr [3];
arr[1] ^= arr [2];arr[2] ^= arr[1];arr[1] ^= arr [2];
console.log('加密后的四位数是:' + String(arr));
}

// 8.“信息录入系统”可以不停的接收录入的员工姓名,直到输入exit为止,将这些姓名保存在一个数组中,控制台中输出所有的元素
function eight(){
var arr = [];
for(var i = 1;;i++){
var input = prompt('请输入员工姓名:');
if(input != 'exit'){
arr[i - 1] = input;
console.log('第' + i + '个员工名字:' + arr[i-1]);
}else{
console.log('退出!');
break;
}
}
}
</script>
</body>
</html>

原文地址:https://www.cnblogs.com/awei313558147/p/11276078.html