一、C语言输出菱形
1,将菱形分成上下两部分(必须输入奇数才是菱形)
2、要输出菱形 就必须找出 行数 和 空格 * 号 之间的关系,
上面一部分的关系为:
b<a/2-c 空格的个数
d<2*c+1 *号的个数
下面一部分的关系为
b<c+1 空格的个数
d<a-2*c-2 *号的个数
源代码 如下:
#include "stdio.h"
int main(void)
{
int a,b,c,d;``//a行数 b打印空格打的个数 c第一行开始 d 打印 *号的个数
printf("请输入菱形的行数:");
scanf("%d",&a);
if(a%2==0)
{
printf("必须输入奇数:");
scanf("%d",&a);
}
for(c=0;c<a/2+1;c++)//上部分的行数
{
for(b=0;b<a/2-c;b++)//打印空格 上部分行数减去这每一行 就等于空格的个数
printf("%c",' ');
for(d=0;d<2*c+1;d++)//第n行的 * 个数 每行加两个 * 号
printf("%c",'*');
printf("\n");//换行
}
for(c=0;c<a/2;c++)//下部分的行数
{
for(b=0;b<c+1;b++)//打印空格
printf("%c",' ');
for(d=0;d<a-2*c-2;d++)//第n行的 * 个数 总行数的个数减 2就是下一行的个数 2*c 就是每行比上一行多两个*
printf("%c",'*');
printf("\n");
}
return 0;
`}`
运行结果如下: