
怎样用C语言画一个菱形图案?
2个回答
2016-05-31 · 百度知道合伙人官方认证企业
兄弟连教育成立于2006年,11年来专注IT职业教育,是国内专业的IT技术培训学校。2016年成功挂牌新三板(股票代码:839467)市值过亿。开设专注程序员培训专注php、Java、UI、云计算、Python、HTML5、
向TA提问
关注

展开全部
i表示行号,打一行i 就加1
j表示某一行需要打印空格的数目
k表示某一行需要打印‘*’的数目
这个程序打了一个7行的菱形,我把程序改一下,把i,j,k的计数都从1开始,看起来会比较直观
#include <stdio.h>
void main()
{
int i,j,k;
for(i=1;i<=4;i++) //先打印前4行
{
for(j=1;j<=4-i;j++) //每一行先打印需要打印的空格,空格数为(4 - 行号),譬如第1行,需要打4-1个空格,第2行需要打4-2个空格
printf(" ");
for(k=1;k<=2*i -1;k++) //打完空格打‘*',每行需要打印2倍行号+1个,譬如第1行打印2*1 - 1个,第2行打印2*2 - 1=3个
printf("*");
printf("\n");
}
for(i=1;i<=3;i++) //然后打印后面三行,行号从1开始计算
{
for(j=1;j<=i;j++) //每行打印空格数为行号数,譬如第1行打印1个,第2行打印2个
printf(" ");
for(k=1;k<=7-2*i;k++) //每行打印7-2*i个’*',譬如第1行打印7-2*1=5个,第2行打印7-2*2=3个
printf("*");
printf("\n");
}
}
j表示某一行需要打印空格的数目
k表示某一行需要打印‘*’的数目
这个程序打了一个7行的菱形,我把程序改一下,把i,j,k的计数都从1开始,看起来会比较直观
#include <stdio.h>
void main()
{
int i,j,k;
for(i=1;i<=4;i++) //先打印前4行
{
for(j=1;j<=4-i;j++) //每一行先打印需要打印的空格,空格数为(4 - 行号),譬如第1行,需要打4-1个空格,第2行需要打4-2个空格
printf(" ");
for(k=1;k<=2*i -1;k++) //打完空格打‘*',每行需要打印2倍行号+1个,譬如第1行打印2*1 - 1个,第2行打印2*2 - 1=3个
printf("*");
printf("\n");
}
for(i=1;i<=3;i++) //然后打印后面三行,行号从1开始计算
{
for(j=1;j<=i;j++) //每行打印空格数为行号数,譬如第1行打印1个,第2行打印2个
printf(" ");
for(k=1;k<=7-2*i;k++) //每行打印7-2*i个’*',譬如第1行打印7-2*1=5个,第2行打印7-2*2=3个
printf("*");
printf("\n");
}
}

2025-03-05 广告
在线上CAD画图方面,山东山大华天软件有限公司凭借强大的技术实力,为用户提供高效便捷的云端CAD设计服务。我们的线上平台支持多用户协同作业,确保团队成员之间无缝沟通与合作。用户可以随时随地通过浏览器访问,进行图纸绘制、编辑及共享,极大地提升...
点击进入详情页
本回答由华天软件提供
展开全部
你写的 和楼上的 都是固定一个长度的 其实让用户输入一个比较好玩 下附代码 不懂就问:
#include<stdio.h>
int main()
{
int i,j,k,total;
printf("请输入菱形的总行数:\n");
scanf("%d",&total);
for(i=1;i<=total/2;i++)
{
for(k=total/2-i;k>0;k--)
printf(" ");
for(j=1;j<=2*i-1;j++)
printf("*");
printf("\n");
}
for(i=1;i<=total/2-1;i++)
{
for(j=1;j<=i;j++)
printf(" ");
for(k=0;k<(total/2-i)*2-1;k++)
printf("*");
printf("\n");
}
}
#include<stdio.h>
int main()
{
int i,j,k,total;
printf("请输入菱形的总行数:\n");
scanf("%d",&total);
for(i=1;i<=total/2;i++)
{
for(k=total/2-i;k>0;k--)
printf(" ");
for(j=1;j<=2*i-1;j++)
printf("*");
printf("\n");
}
for(i=1;i<=total/2-1;i++)
{
for(j=1;j<=i;j++)
printf(" ");
for(k=0;k<(total/2-i)*2-1;k++)
printf("*");
printf("\n");
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询