编写一段javascript程序,要求用户输入一个整数N,计算从1加到N,要求使用消息框将计算结果告之用户。
4个回答
展开全部
假设用户是输入到一个文本框吧,文本框在myform表单中,name为text.
还有一个按钮,用户点击它的时候会出来结果,用一个消息框显示:
<script language="javascript">
function myresult(){//定义一个函数
var result=0;//用来保存求得的和,
if(isNaN(document.myform.text.value)){ //isNaN()用来判断用户的输入是否是一个整数
alert("您输入的不是一个整数,请重新输入");
document.myform.text.focus();//定位光标到文本框
document.myform.text.select();//使框中内容被选中
}else{
//利用parseInt()方法将文本框中的内容转换为一个数字,如果输入的是“23a2”,那这个方法的结果就是“23”
var num=parseInt(document.myform.text.value);
result=num*(num+1)/2; //利用数列的求和公式
}
alert("所得的结果是: "+result);//用消息框显示结果
}
}
</script>
这个是JS程序,我做了异常处理,也就是说用户如果输入的不是整数要提醒用户,下面我弄的全部代码:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>求和</title>
<script language="javascript">
function myresult(){//定义一个函数
var result=0;//用来保存求得的和,
if(isNaN(document.myform.text.value)){ //isNaN()用来判断用户的输入是否是一个整数
alert("您输入的不是一个整数,请重新输入");
document.myform.text.focus();//定位光标到文本框
document.myform.text.select();//使框中内容被选中
}else{
//利用parseInt()方法将文本框中的内容转换为一个数字,如果输入的是“23a2”,那这个方法的结果就是“23”
var num=parseInt(document.myform.text.value);
result=num*(num+1)/2; //利用数列的求和公式
}
alert("所得的结果是: "+result);//用消息框显示结果
}
}
</script>
</head>
<body>
<form name="myform" method="post" action="#">
<p>请在这里输入一个整数:
<input name="text" type="text" id="text" height=20px width=130px>
</p>
<p>
<input name="btnadd" type="button" value="确定" onClick="myresult()">
</p>
</form>
</body>
</html>
有不明白的地方接着问。
听了那个人的我又试了试我原来用的循环,输入一个八位的还行,十几位就不行了,改了之后输入一个二十位的也没事了,就是结果大点
还有一个按钮,用户点击它的时候会出来结果,用一个消息框显示:
<script language="javascript">
function myresult(){//定义一个函数
var result=0;//用来保存求得的和,
if(isNaN(document.myform.text.value)){ //isNaN()用来判断用户的输入是否是一个整数
alert("您输入的不是一个整数,请重新输入");
document.myform.text.focus();//定位光标到文本框
document.myform.text.select();//使框中内容被选中
}else{
//利用parseInt()方法将文本框中的内容转换为一个数字,如果输入的是“23a2”,那这个方法的结果就是“23”
var num=parseInt(document.myform.text.value);
result=num*(num+1)/2; //利用数列的求和公式
}
alert("所得的结果是: "+result);//用消息框显示结果
}
}
</script>
这个是JS程序,我做了异常处理,也就是说用户如果输入的不是整数要提醒用户,下面我弄的全部代码:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>求和</title>
<script language="javascript">
function myresult(){//定义一个函数
var result=0;//用来保存求得的和,
if(isNaN(document.myform.text.value)){ //isNaN()用来判断用户的输入是否是一个整数
alert("您输入的不是一个整数,请重新输入");
document.myform.text.focus();//定位光标到文本框
document.myform.text.select();//使框中内容被选中
}else{
//利用parseInt()方法将文本框中的内容转换为一个数字,如果输入的是“23a2”,那这个方法的结果就是“23”
var num=parseInt(document.myform.text.value);
result=num*(num+1)/2; //利用数列的求和公式
}
alert("所得的结果是: "+result);//用消息框显示结果
}
}
</script>
</head>
<body>
<form name="myform" method="post" action="#">
<p>请在这里输入一个整数:
<input name="text" type="text" id="text" height=20px width=130px>
</p>
<p>
<input name="btnadd" type="button" value="确定" onClick="myresult()">
</p>
</form>
</body>
</html>
有不明白的地方接着问。
听了那个人的我又试了试我原来用的循环,输入一个八位的还行,十几位就不行了,改了之后输入一个二十位的也没事了,就是结果大点
展开全部
写了个小东西,希望对你有帮助
<html>
<head>
<script>
function cal(n) {
if(n){
return n*n/2+n/2;
}
return '0';
}
function filter(obj){
var r=/^\d+$/;
var r2=/\D+/;
if(!r.test(obj.value)){
obj.value=obj.value.replace(r2,'');
}
}
</script>
</head>
<body style="font-size:12px;">
数字<input type='input' id='base' onkeyup='filter(this)'/>
<a href="javascript:void 0" onclick="var base2=cal(document.getElementById('base').value);document.getElementById('base2').value=base2">计算</a>
结果<input style="font-size:12px" type='input' id='base2' readonly='true'/>
</body>
</html>
<html>
<head>
<script>
function cal(n) {
if(n){
return n*n/2+n/2;
}
return '0';
}
function filter(obj){
var r=/^\d+$/;
var r2=/\D+/;
if(!r.test(obj.value)){
obj.value=obj.value.replace(r2,'');
}
}
</script>
</head>
<body style="font-size:12px;">
数字<input type='input' id='base' onkeyup='filter(this)'/>
<a href="javascript:void 0" onclick="var base2=cal(document.getElementById('base').value);document.getElementById('base2').value=base2">计算</a>
结果<input style="font-size:12px" type='input' id='base2' readonly='true'/>
</body>
</html>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
<script language="javascript">
var num=prompt("请输入一个整数","");
while(num.search(/[^0-9]/) != -1){//判断是否是整数
alert("请输入整数");
num=prompt("请输入一个整数","");
}
var sum=1;//总和
var ts="1";//提示信息
for(var i=2;i<=num;i++){
ts+="+"+i;
sum+=i;
}
alert(ts+"="+sum);
</script>
var num=prompt("请输入一个整数","");
while(num.search(/[^0-9]/) != -1){//判断是否是整数
alert("请输入整数");
num=prompt("请输入一个整数","");
}
var sum=1;//总和
var ts="1";//提示信息
for(var i=2;i<=num;i++){
ts+="+"+i;
sum+=i;
}
alert(ts+"="+sum);
</script>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
MS初中就学过高斯算法吧...楼上的老大们...
竟然还在用for.效率啊.
竟然还在用for.效率啊.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询