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

Posted awei313558147

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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>

以上是关于2019.7.28关于数组和循环的八道题的主要内容,如果未能解决你的问题,请参考以下文章

Java基础--关于分支循环数组的部分练习题及详解

关于循环和数组的练习 - 使用循环 1 次以及如何获取数组的最大值

关于数组的算法题

关于循环次数的一道题

前端面试题,map,forEach,for循环,三个都能遍历,什么区别?

数组和指针关于「sizeof」 「strlen 」经典易错面试题