| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 9797 人关注过本帖
标题:怎么打印菱形
只看楼主 加入收藏
月之神
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2006-10-26
收藏
 问题点数:0 回复次数:24 
怎么打印菱形
我们老师叫作实验,可我们的教材是英文版的,好苦,学了那么久,就是摸棱两可的,哎
求助
输出11行, *
***
******
。。。。。。。。。。
***
*

搜索更多相关主题的帖子: 菱形 打印 教材 英文版 实验 
2006-10-29 12:42
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 

搜索菱形应该有的.
提示一下:可以分别考虑上下两部分,两重循环,外循环控制行数,内循环包括空格和*.也可以利用直角坐标系
写上部分:
for(i=1;i<=6;i++)
{
for(j=1;j<=2*6-1;j++)
{
if(j<=6-i||j-6>=i)
printf(" ");
else
printf("*");
}
printf("\n");
}


倚天照海花无数,流水高山心自知。
2006-10-29 14:58
jqbbccn
Rank: 1
等 级:新手上路
帖 子:73
专家分:0
注 册:2006-10-17
收藏
得分:0 
楼上的行不行的啊
main()
{
int i,j,h;
printf("请输入菱型的高(为奇数):");
scanf("%d",&h);
for(i=1;i<=h/2+1;i++)
{
for(j=1;j<=h-i;j++)
printf(" ");
for(j=1;j<=2*i-1;j++)
printf("*");
printf("\n");
}//上半~
for(i=h/2;i>=1;i--)
{
for(j=1;j<=h-i;j++)
printf(" ");
for(j=1;j<=2*i-1;j++)
printf("*");
printf("\n");
}//下半~
}

2006-10-29 16:51
tanyemin
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2006-10-15
收藏
得分:0 
{int i,j;
for(i=1;i<=6;i++)
{
for(j=1;j<=2*6-1;j++)
{
if(j<=6-i||j-6>=i)
printf(" ");
else
printf("*");
}
printf("\n");
}
for(i=5;i>=1;i--)
{
for(j=1;j<=2*6-1;j++)
{
if(j<=6-i||j-6>=i)
printf(" ");
else
printf("*");
}
printf("\n");
}
}以前我们做时用了好多循环这个比较简单!

2006-10-29 17:03
fans
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2006-9-4
收藏
得分:0 

nuciewth 的上半部分程序没有问题啊.
贴下偶的,请指正,谢谢!

#include <stdio.h>
main()
{
int i,j,k,h;
printf("请输入菱型的高(为奇数):");
scanf("%d",&h);

for(i=0; i<h; i++)
{
k=i;
if(i>h/2)
{
k=h-i-1;
}

for(j=0; j<h; j++)
{
if(j<h/2-k || j-h/2>k)
printf(" ");
else
printf("*");
}
printf("\n");
}
}

2006-10-29 18:41
我不是郭靖
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:494
专家分:6
注 册:2006-10-4
收藏
得分:0 
#include<stdio.h>
#include<math.h>
#define N 10
int main()
{
int i,j;
for(i=-N;i<=N;i++)
{
for(j=-N;j<=N;j++)
{
if(abs(i)+abs(j)<=N) printf("*");
else printf(" ");
}
printf("\n");
}
return 0;
}

2006-10-29 19:42
zhucai
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2006-10-3
收藏
得分:0 

楼上的精炼
效率差点,我的如下:
#include "stdio.h"
#define N 11

main(){
int i,j,a;a=-1;
for(i=1;i<=N;i++){
if(i>(N+1)/2)
a--;
else
a++;
printf("\n");
for(j=1;j<=N;j++)
if(j<(N-2*a+1)/2||(j>(N-1)/2+a+1))
printf(" ");
else
printf("*");

}

getchar();
}


[此贴子已经被作者于2006-10-30 10:45:51编辑过]

2006-10-30 10:44
e4lich
Rank: 2
等 级:新手上路
威 望:4
帖 子:182
专家分:0
注 册:2006-10-26
收藏
得分:0 
main()
{int i,j;
char diamond[10][10]={{' ',' ',' ','*'},{' ',' ','*','*','*'},{' ','*','*','*','*','*'},{'*','*','*','*','*','*','*'},{' ','*','*','*','*','*'},{' ',' ','*','*','*'},{' ',' ',' ','*'}};
for(i=0;i<10;i++)
{for(j=0;j<10;j++)
printf("%c",diamond[i][j]);
printf("\n");}}
这个更简单啊!不过效率就不知道了

我只想变强!     
2006-11-13 21:29
b4spirit
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2006-11-10
收藏
得分:0 

有没有光标定位函数啊,!~~~~~~~~~~~

2006-11-13 22:04
gdmzzwf
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2007-4-23
收藏
得分:0 

#include "stdio.h"

main()

{

int i,j,k;

for(i=1;i<6;i++)

{

for(j=1;j<6-i;j++)

printf(" ");

for(j=1;j<2*i;j++)

printf("*");

printf("\n");

}

for(k=i;k<5+i;k++)

{

for(j=1;j<=k-i+1;j++)

printf(" ");

for(j=4;j>0;j--)

printf("*");

printf("\n");

}

}

2007-04-26 23:14
快速回复:怎么打印菱形
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.022614 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved