输出菱形
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;
}