html input 输入 table,js算法--输入行列,生成一个表格(table)

html:

请输入行数:

请输入列数:

创建

javaScript:

functino autocreate() {

var line = document.getElementById('rows').value;

var list = document.getElementById('cols').value;

var test = document.getElementById('test');

var table = "

for(var i = 1;i<=line;i++){

table +="

";

for(var j = 1;j<=list;j++){

table +="

+line+"行"+list+"列"+"";

}table +="

";

document.write(table);

test.innerHTML =table;

}通过js输出一个table,在循环中完整地将一个表格打印完。然后才用innerHTML输出。

2、第二种方法:通过插入节点,达到输出表格。

js代码:

function drawTable(){

var input4 = document.getElementById("input4");

var input4 = Number(input4.value);

var input5 = document.getElementById("input5");

var input5 = Number(input5.value);

var div3 = document.getElementById("div3");

var a = document.createElement("table");

a.border=1;

a.width = 300;

for(var i = 0;i

var tr = a.inserRow(i);

for(var j = 0;j

var td = a.inserCell(j);

td.innerHTML="这是个单元格";

}

}document.getElementById("div3").appendChild(a);

}document.createElement("table"):createElement()创建元素节点。创建了一个

的节点。

a.inserRow(i):插入一个新行。新行会插入i所在行之前。i等于表中的行数,则新行附加到表末尾。i表示所插入的位置。

a.inserCell(j):在

中插入一列。新单元格将被插入当前位于j指定位置的表元前。j等于行中的单元格数,被附加到行末尾。j也表示所插入的位置。

3、输入行列打印需要的模块。

在js中设置需要打印的模块数量,在style中设定每块模块的长和宽。

js代码:

function on (){

var input1 = document.getElementById("input1").value;

var input2 = document.getElementById("input2").value;

var div1 = document.getElementById("div1");

for(var i=0;i

div.innerHTML+=''+'';//打印行

for (var j =0;j

div1.innerHTML +='+'';

}

div1.innerHTML+=';

}

}style中设置的样式:

#div1 span{

width:50px;

height:30px;

display:inline-block;

border:1px solid #000;

}

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个简单的使用HTML、CSS和JavaScript实现时间片轮转进程调度算法的示例。用户可以手动输入进程并修改其属性,然后点击“开始调度”按钮开始模拟进程调度。 HTML代码: ```html <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>时间片轮转进程调度算法</title> <style> table { border-collapse: collapse; margin-bottom: 20px; } th, td { border: 1px solid black; padding: 5px; } th { background-color: #ddd; } input[type="number"] { width: 50px; } </style> </head> <body> <h1>时间片轮转进程调度算法</h1> <table> <thead> <tr> <th>进程ID</th> <th>到达时间</th> <th>需要时间</th> <th>剩余时间</th> <th>优先级</th> </tr> </thead> <tbody id="processes"> <tr> <td><input type="text" value="P1"></td> <td><input type="number" min="0" value="0"></td> <td><input type="number" min="1" value="5"></td> <td>5</td> <td><input type="number" min="1" value="1"></td> </tr> <tr> <td><input type="text" value="P2"></td> <td><input type="number" min="0" value="1"></td> <td><input type="number" min="1" value="3"></td> <td>3</td> <td><input type="number" min="1" value="2"></td> </tr> <tr> <td><input type="text" value="P3"></td> <td><input type="number" min="0" value="2"></td> <td><input type="number" min="1" value="2"></td> <td>2</td> <td><input type="number" min="1" value="3"></td> </tr> </tbody> </table> <button id="start">开始调度</button> <button id="reset">重置</button> <p id="result"></p> <script> function run() { const processes = Array.from(document.querySelectorAll("#processes tr")).map(tr => ({ id: tr.querySelector("input[type='text']").value, arrivalTime: parseInt(tr.querySelector("input[type='number'][min='0']").value), remainingTime: parseInt(tr.querySelector("td:nth-child(4)").textContent), priority: parseInt(tr.querySelector("input[type='number'][min='1']").value), originalPriority: parseInt(tr.querySelector("input[type='number'][min='1']").value) })); const quantum = 2; let currentTime = 0; let completedProcesses = 0; let result = ""; while (completedProcesses < processes.length) { let isCompleted = true; for (const process of processes) { if (process.remainingTime > 0) { isCompleted = false; if (process.remainingTime > quantum) { process.remainingTime -= quantum; currentTime += quantum; } else { currentTime += process.remainingTime; process.remainingTime = 0; process.completionTime = currentTime; process.turnaroundTime = process.completionTime - process.arrivalTime; process.waitingTime = process.turnaroundTime - process.originalPriority * process.completionTime; completedProcesses++; } } } if (isCompleted) { break; } } result += "进程ID 到达时间 完成时间 周转时间 等待时间\n"; let totalTurnaroundTime = 0; let totalWaitingTime = 0; for (const process of processes) { result += `${process.id} ${process.arrivalTime} ${process.completionTime} ${process.turnaroundTime} ${process.waitingTime}\n`; totalTurnaroundTime += process.turnaroundTime; totalWaitingTime += process.waitingTime; } const averageTurnaroundTime = totalTurnaroundTime / processes.length; const averageWaitingTime = totalWaitingTime / processes.length; result += `平均周转时间: ${averageTurnaroundTime.toFixed(2)}\n平均等待时间: ${averageWaitingTime.toFixed(2)}\n`; document.querySelector("#result").textContent = result; } document.querySelector("#start").addEventListener("click", run); document.querySelector("#reset").addEventListener("click", () => location.reload()); </script> </body> </html> ``` 该代码使用一个包含所有进程信息的HTML表格,并包含一个“开始调度”按钮和一个“重置”按钮。进程信息包括进程ID、到达时间、需要时间、剩余时间和优先级,用户可以在表格中手动输入和修改这些信息。当用户点击“开始调度”按钮时,JavaScript代码将读取表格中的进程信息,并使用时间片轮转算法模拟进程调度过程。完成进程调度后,页面将显示每个进程的完成时间、周转时间和等待时间,以及平均周转时间和平均等待时间。当用户点击“重置”按钮时,页面将重新加载以清除所有进程信息。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值