您的位置:首页 > 编程语言 > C语言/C++

用C语言打印一个菱形

2018-03-25 12:18 351 查看
如何用C输出一个菱形呢?有的人可能会说直接用printf打印。在行数很少的时候这是可以的,但是如果行数太大,很显然这个做法就非常不合理。那我们首先想到的就会是用循环来解决这个问题,先打印上半部分,再打印下半部分。
#include <stdio.h>

#include <windows.h>
int main()
{
int i = 0;
int j = 0;
int line = 0;
int k = 0;
printf("请输入行数:\n");

scanf_s("%d",&line);//在vs2008中,对scanf做了修改。
//先打印上半部分
for(i=0; i<line; i++)//控制行数
{
        for(j=0; j<line-1-i; j++)//控制空格
   {
   printf(" ");
   }
   for(k=0; k<2*i+1; k++)//控制星号
   {
   printf("*");
   }
printf("\n");
}
//打印下半部分

for(i=0; i<line-1; i++)//控制行数
{
for(j=0; j<i+1; j++)//控制空格
{
printf(" ");
}
for(k=0; k<2*(line-1-i)-1; k++)//控制星号
{
printf("*");
}
printf("\n");
}
system("color F1");//改变颜色
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  C语言 循环