您的位置:首页 > 其它

输出菱形

2018-04-06 14:42 316 查看
#include<stdio.h>
#include<windows.h>
#pragma warning(disable:4996)
int main()
{
int l=0;
printf("请输入一个数字:\n",l);
scanf("%d", &l);
int i = 0;
int n = 0;
for (i = 0; i < l; i++)//上半个菱形的行数
{
for (n=0; n <l - i-1; n++)
{
printf(" ");
}//上半个菱形每行前面的空格数
for (n=0; n < 2 * i + 1; n++)//上半个菱形每行的*数
{
printf("*");
}
printf("\n");
}
for (i=0; i < l - 1; i++)
{
for (n=0; n < i + 1; n++)
{
printf(" ");
}
for (n=0; n < (l - 1 - i) * 2 - 1; n++)
{
printf("*");
}
printf("\n");
}
system("pause");
return 0;
}




另一种思路如下:
#include<stdio.h>
#include<windows.h>
#pragma warning(disable:4996)
int main()
{
int l = 0;
printf("请输入一个数字:\n", l);
scanf("%d", &l);
int i = 1;
int j = 1;
int n = 1;
for (i = 1; i < 8; i++)//该菱形的上半部分的行数。
{
for (int j = 1; j < 8 - i; j++)//每行前面的空格数。
printf(" ");
for (n = 1; n <= 2 * i - 1; n++)//每行空格后*的个数。
printf("*");
printf("\n");

}
for (i = 1; i <= l - 1; i++)//该菱形的下半部分的行数。
{
for (j = 1; j <= i; j++)
printf(" ");
for (n = 1; n <= (-2) * i + 13; n++)
printf("*");
printf("\n");
}
system("pause");
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: