注册 登录
编程论坛 新人交流区

[求助]代码for

zzhang0821 发布于 2007-10-17 20:25, 453 次点击

求助
输出
*
***
*****
*******
*****
***
*
这个用function和for 怎么写 请大家多多指点!!

16 回复
#2
Smokeboy2007-10-17 20:29

怎么又发一帖?
刚刚那个帖子已经有人回啦~

#3
zzhang08212007-10-17 20:34
不好意思我不知道 我看一下 谢谢你
#4
zzhang08212007-10-17 20:38
不好意思 忘记说了 你看能不能用这个方法写 该这么写呢??我只学到这里 谢谢大家!!
<script>
function b(a)
{
for(i=1;i<=a;i++)
{
for(j=1;j<=i;j++)
{
{
if(i%2==0)
continue;
document.write('*')
}
}
document.write('<br>')
}
for(k=1;k<=a;k++)
{
for(c=a-1;c>=k;c--)
{
if(k%2!=0)
continue;
document.write('*')
}
document.write('<br>')
}
}
b(7)
</script>
结果显示的是
*
***
*****
*******
*****
***
*
#5
zmzlx2007-10-17 20:59
用FUNCTION就比较简单了啊
用一个嵌套循环,里面第一个控制空格,在用一个控制输出就可以了.
#6
zmzlx2007-10-18 08:33
我来试试啊.
#include<stdio.h>
int main(void)
{
int i,j,k;
for(i=1;i<=4;i++)
{
for(j=4-i;j>=0;j--)
printf(" ");
for(k=1;k<=2*i-1;k++)
printf("*");
printf("\n");
}
for(int l=3;l>=1;l--)
{
for(int m=4-l;m>=0;m--)
printf(" ");
for(int t=2*l-1;t>=1;t--)
printf("*");
printf("\n");
}
return 0;
}
这段代码应该是可以打印出你要求的图案的,不过就是有点烦琐.我再想想简单的.
#7
baby662007-10-18 09:15
以下是引用zmzlx在2007-10-18 8:33:23的发言:
我来试试啊.
#include<stdio.h>
int main(void)
{
int i,j,k;
for(i=1;i<=4;i++)
{
for(j=4-i;j>=0;j--)
printf(" ");
for(k=1;k<=2*i-1;k++)
printf("*");
printf("\n");
}
for(int l=3;l>=1;l--)
{
for(int m=4-l;m>=0;m--)
printf(" ");
for(int t=2*l-1;t>=1;t--)
printf("*");
printf("\n");
}
return 0;
}
这段代码应该是可以打印出你要求的图案的,不过就是有点烦琐.我再想想简单的.

结构就是这样写的
简单的我好象也没见到过也没想到过
看来只好依靠这位兄弟

#8
gaoamining2007-10-18 10:27
#include<stdio.h>
int main(void)
{
int i,j,k;
for(i=1;i<=4;i++)
{
for(j=4-i;j>=0;j--)
printf(" ");
for(k=1;k<=2*i-1;k++)
printf("*");
printf("\n");
}
for(int l=3;l>=1;l--)
{
for(int m=4-l;m>=0;m--)
printf(" ");
for(int t=2*l-1;t>=1;t--)
printf("*");
printf("\n");
}
return 0;
}
#9
jzldf1802007-10-18 11:57
也可以考虑一下二维数组的方式:
#include<stdio.h>

void main()
{
int myArray[7][7];

//填充标识:"*"处以1标识," "处以默认的0标识
for (int i=0; i < 7; i++)
{
if (4 - (i + 1) >= 0)
{
for (int j1 = 0; j1 < 2 * (i + 1) - 1; j1++)
{
myArray[i][j1 + 4 - (i + 1)] = 1;
}
}
else
{
for (int j2 = 0; j2 < 7 - 2 * (i+1-4); j2++)
{
myArray[i][i + 1 - 4 + j2] = 1;
}
}
}

//打印图案
for (int m = 0; m < 7; m++)
{
for (int n = 0; n < 7; n++)
{
if (myArray[m][n] == 1)
{
printf("*");
}
else
{
printf(" ");
}
}
printf("\n");
}
}

[此贴子已经被作者于2007-10-18 11:59:47编辑过]

#10
lxinxin2007-10-18 11:59
正在关注
#11
ltdtfking2007-10-18 13:34

你是要打菱形吗?是的话那就是
#include<stdio.h>
void main()
{
int i,j,k;
for(i=1;i<=4;i++)
{
for(j=4-i;j>=0;j--)
printf(" ");
for(k=1;k<=2*i-1;k++)
printf("*");
printf("\n");
}
for(int i=3;l>=i;i--)
{
for(int j=4-l;j>=0;j--)
printf(" ");
for(int k=2*i-1;k>=1;k--)
printf("*");
printf("\n");
}
}

#12
zzhang08212007-10-18 16:33
回复:(jzldf180)也可以考虑一下二维数组的方式:#i...
谢谢你:

虽然我没有学过你写的那个语言

不过我模仿了你的式子做了一下 还可以,

就是下面说的那个就不太懂了。

不过 我慢慢的试一下我想应该会好的。太感谢你了!!!
#13
zzhang08212007-10-18 16:34
对 是要打菱形。谢谢你哦 ,以后有什么事情还要多请教你呢!!
#14
gaoamining2007-10-19 09:38

学习

#15
nishizx2007-10-19 10:21
我只打出过菱形来,哎
#16
xxvv2007-10-19 10:57

看来此处还是有不少高手存在的嘛!没有白来,为了升级称为游民,我顶了!

1