JavaScript输入几个数构成的数列,输入n行,每一次输出都把最后一个数提前到第一位
比如输出3行,数列为1.2.3.4.51.2.3.4.55.1.2.3.44.5.1.2.33.4.5.1.2具体要求如图...
比如输出3行,数列为1.2.3.4.5
1.2.3.4.5
5.1.2.3.4
4.5.1.2.3
3.4.5.1.2
具体要求如图 展开
1.2.3.4.5
5.1.2.3.4
4.5.1.2.3
3.4.5.1.2
具体要求如图 展开
2018-10-25
展开全部
这道题主要学习JavaScript数组的操作,添加删除和字符串的相互转换,代码如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>第2题答案</title>
</head>
<body>
<div>数列:<input type="text" id="shulie" /></div>
<div>行数:<input type="text" id="num" style="width:40px;" /></div>
<div>显示:<textarea id="show" rows="10" cols="60"></textarea></div>
<div>
<input type="button" id="bt" value="显示" />
<input type="button" id="clear" value="清空" />
</div>
<script language="javascript">
//显示
document.getElementById("bt").onclick=function(){
var shulie=document.getElementById('shulie').value;
var num=parseInt(document.getElementById('num').value);
//数据的验证
if(shulie=='' || num<1){
window.alert("请填写数列");
document.getElementById('shulie').focus();
return ;
}
if(num<1){
window.alert("请填写一个大于0的数字");
document.getElementById('num').focus();
return ;
}
//按字符分隔,如果数列是逗号,就把它修改成逗号
var arr=shulie.split('');
//第一行是原数列
var text=arr.join(" ");
for(var i=1;i<num;i++){
//删除并返回最后一个元素
var last=arr.pop();
//像输入开头添加一个元素
arr.unshift(last);
//拼接一个换行符
text+="\r\n";
//把输入数组按空格拆分成字符串,连接到text
text+=arr.join(" ");
}
document.getElementById('show').value=text;
};
//清空
document.getElementById("clear").onclick=function(){
//清空数列
document.getElementById('shulie').value='';
//清空行数
document.getElementById('num').value='';
//清空显示
document.getElementById('show').value='';
}
</script>
</body>
</html>
2018-10-20 · 知道合伙人互联网行家
关注
展开全部
第一个有人写了,我来写那个补充题吧:
#include<iostream>
#include<conio.h>
using namespace std;
struct Jose
{
iint code;
Jose* next;
};
int n, s, m;
Jose *pCur, *pivot;
bool getValue();
Jose* createRing();
void countBoy(int m);
void process();
int main()
{
if(!getValue()) return 1;
Jose* pJose = createRing();
process();
cout<<"\nThe winner is "<<pCur->code<<"\n";
delete[] pJose;
getch();
}
bool getValue()
{
cout<<"please input boyNumber, startPosition, intervalNumber: \n";
cin>>n>>s>>m;
if(n>=2 && s>=1 && s<=n && m>=1 && m<=m) return true;
cerr<<"failed in bad boyNumber or startPosition or intervalNumber.\n";
return false;
}
Jose* createRing()
{
Jose* px = new Jose[n];
for(int i=1; i<=n; ++i)
{ px[i-1].next = &px[i%n];
px[i-1].code = i;
}
cout<<"There are "<<n<<" boys.\n";
pivot = & px[n-2];
pCur = &px[n-1];
countBoy(s-1);
return px;
}
void countBoy(int m)
{
for(int i=0; i<m; ++i)
{ pivot = pCur;
pCur = pivot->next;
}
}
void process()
{
for(int i=1; i<n; ++i)
{ countBoy(m);
static int line=0;
cout<<" "<<pCur->code;
if(!(++line%10)) cout<<"\n";
pivot->next = pCur->next;
pCur = pivot;
}
}
这个应该就是你说的功能了。
#include<iostream>
#include<conio.h>
using namespace std;
struct Jose
{
iint code;
Jose* next;
};
int n, s, m;
Jose *pCur, *pivot;
bool getValue();
Jose* createRing();
void countBoy(int m);
void process();
int main()
{
if(!getValue()) return 1;
Jose* pJose = createRing();
process();
cout<<"\nThe winner is "<<pCur->code<<"\n";
delete[] pJose;
getch();
}
bool getValue()
{
cout<<"please input boyNumber, startPosition, intervalNumber: \n";
cin>>n>>s>>m;
if(n>=2 && s>=1 && s<=n && m>=1 && m<=m) return true;
cerr<<"failed in bad boyNumber or startPosition or intervalNumber.\n";
return false;
}
Jose* createRing()
{
Jose* px = new Jose[n];
for(int i=1; i<=n; ++i)
{ px[i-1].next = &px[i%n];
px[i-1].code = i;
}
cout<<"There are "<<n<<" boys.\n";
pivot = & px[n-2];
pCur = &px[n-1];
countBoy(s-1);
return px;
}
void countBoy(int m)
{
for(int i=0; i<m; ++i)
{ pivot = pCur;
pCur = pivot->next;
}
}
void process()
{
for(int i=1; i<n; ++i)
{ countBoy(m);
static int line=0;
cout<<" "<<pCur->code;
if(!(++line%10)) cout<<"\n";
pivot->next = pCur->next;
pCur = pivot;
}
}
这个应该就是你说的功能了。
追问
大佬,会js的做法嘛?
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<input type="text"><br>
<input type="text"><br>
<input type="text"><br>
<input type="button" value="确认">
</body>
<script>
var inps = document.querySelectorAll("input");
inps[3].onclick = function(){
alert(Math.max(inps[0].value,inps[1].value,inps[2].value));
//得到的.value是string型的,需要转换为number
var a = Number(inps[0].value);
var b = Number(inps[1].value);
var c = Number(inps[2].value);
if(a>b){
if(a>c){
alert(a);
}else{
alert(c);
}
}else{
if(b>c){
alert(b);
}else{
alert(c);
}
}
// 枚举法 列举所有可能
if(a>=b && a>=c){
alert(a);
}
if(b>=a && b>=c){
alert(b);
}
if(c>=a && c>=b){
alert(c);
}
//定义中间变量,定义最大值
var max = 0;
if(a >= max){
max = a;
}
if(b >= max){
max = b;
}
if(c >= max){
max = c;
}
alert(max);
}
</script>
</html>
<html>
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<input type="text"><br>
<input type="text"><br>
<input type="text"><br>
<input type="button" value="确认">
</body>
<script>
var inps = document.querySelectorAll("input");
inps[3].onclick = function(){
alert(Math.max(inps[0].value,inps[1].value,inps[2].value));
//得到的.value是string型的,需要转换为number
var a = Number(inps[0].value);
var b = Number(inps[1].value);
var c = Number(inps[2].value);
if(a>b){
if(a>c){
alert(a);
}else{
alert(c);
}
}else{
if(b>c){
alert(b);
}else{
alert(c);
}
}
// 枚举法 列举所有可能
if(a>=b && a>=c){
alert(a);
}
if(b>=a && b>=c){
alert(b);
}
if(c>=a && c>=b){
alert(c);
}
//定义中间变量,定义最大值
var max = 0;
if(a >= max){
max = a;
}
if(b >= max){
max = b;
}
if(c >= max){
max = c;
}
alert(max);
}
</script>
</html>
追问
大佬,这个不是输出最大数啊,题目不够详细嘛?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2018-10-20
展开全部
function seq(row, arrNum) {
console.log(arrNum);
while(row--) {
arrNum.unshift(arrNum.pop());
console.log(arrNum);
}
}
seq(3, [1, 2, 3, 4, 5]);
追问
大佬,如果不是输出3行,是输出任意行呢,行数由人定的,可不可以给全代码呀
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
function repL(arr,n){
if(Object.prototype.toString.call(arr)!=="[object Array]"||Object.prototype.toString.call(n)!=="[object Number]"){
console.log('type is wrong?')
return false
}
let i=0;
for(;i<n;i++){
arr.splice(0,0,arr[arr.length-1]);
arr.pop();
console.log(arr);
}
}
if(Object.prototype.toString.call(arr)!=="[object Array]"||Object.prototype.toString.call(n)!=="[object Number]"){
console.log('type is wrong?')
return false
}
let i=0;
for(;i<n;i++){
arr.splice(0,0,arr[arr.length-1]);
arr.pop();
console.log(arr);
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询