当前位置:编程学习 > JS >>

一个 for循环编程的小问题 用C# JavaScript ActionScript3.0 都行

用 for循环 输出 ( * 就是 乘号 ) * *** ***** *** * 怎么输出这样的形式 想破了脑袋 只会用最笨的方法 前3行用2个嵌套的 循环 后2行再用2个 嵌套的循环 好麻烦啊 有没有简单的啊 谢谢各位大神 帮我想想啊
补充:最好用 AS3.0 和 javascript 写 谢谢这2个我比较熟悉
追问:我好纠结啊  这是C#?   一看问这问题的就是新手 写的这么......
答案:for (int i = 1; i <=5; i++) {
    for (int j = 0; j <= 5%i*2; j++) {
        System.out.print("*");
    }
    System.out.println(); // 换行
}

技巧:
先列一下规律:
i    j
1  1
2  3
3  5
4  3
5  1
记住:一般看到由小变大然后又由大变小的形状一般会先考虑模(%) 

附赠JS代码:
可直接运行看结果
<script>
var printstr = "";
for (var i = 1; i <=5; i++) {
	for (var j = 0; j <= 5%i*2; j++) {
			printstr += "*";
	}
	printstr += "<br>";
}
document.write(printstr);
</script>
其他:0.0 #include <iostream>
#include <stdio.h>
#define clear(a) memset(a,0,sizeof(a))
using namespace std;

int abs(int &x)//  求绝对值
{
  return x<0?0-x:x;
}

int main(void)
{
	int N;
    for (int i=1;i<=5;i++)
	{
        N=5-abs(i-3)*2;
		for (int j=1;j<=N;j++)
		cout << "*";
	    cout << endl;
	}
    return 0;
} 

记得采纳哟~~ <div id="t"></div>
<script type="text/javascript">
var m=1,c=5;
for(var i=1;i<c+1;i++){
	for(var j=0;j<m;j++){t.innerHTML+='*';}
	t.innerHTML+='<br />';
	m=(i>=(c+1)/2)?(c-i-1)*2+1:2*i+1;
}
</script> <!doctype html><html><head>
<meta http-equiv="Content-Type" content="text/html;charset=gbk">
</head>
<body>
javascript 写一个用*号组成的图案<br/>
简单图案直接用数组当模板最省事,不用设计算法<br/>
html里的javascript,存成html文件就能在浏览器里运行
<div>
<script type="text/javascript">
var a = new Array(1,3,5,3,1);
for(var i=0;i<=4;i++){
	var sj = '';
	for (var j=1;j<=a[i];j++)
		sj += '*';
	document.writeln(sj+'<br/>');
}
</script>
</div>
</body></html> 

上一个:javaScript 判定表单,当把checkbox部分注释掉时,其它部分检验成功,但一旦取消注释,检验全部失效,为啥
下一个:javascript 函数解释

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,