C如何简化此For循环

因此,最近我开始了一个教学C的课程,我的项目是创建一个基于用户输入的程序,该程序创建一个金字塔,在塔的两边之间有两个空格。我已经找到了解决方案,但是我不相信自己在正确地使用它,是否可以简化此方法? 高度选择范围应为1-8,由#组成

{
// User Check Point
int value;
do
{
// User Prompt for integer
    value = get_int("Height: ");
}
while (value > 8 ||value < 1);
// Once user value is sufficient code will continue    
{
// loop to create pyramid   

printf("\n       ");
for (int i = 7;i<value;i++) putchar('#');
printf("  ");
for (int i = 7;i<value;i++) putchar('#');
printf("\n      ");
for (int i = 6;i<value;i++) putchar('#');
printf("  ");
for (int i = 6;i<value;i++) putchar('#');
printf("\n     ");
for (int i = 5;i<value;i++) putchar('#');
printf("  ");
for (int i = 5;i<value;i++) putchar('#');
printf("\n    ");
for (int i = 4;i<value;i++) putchar('#');
printf("  ");
for (int i = 4;i<value;i++) putchar('#');
printf("\n   ");
for (int i = 3;i<value;i++) putchar('#');
printf("  ");
for (int i = 3;i<value;i++) putchar('#');
printf("\n  ");
for (int i = 2;i<value;i++) putchar('#');
printf("  ");
for (int i = 2;i<value;i++) putchar('#');
printf("\n ");
for (int i = 1;i<value;i++) putchar('#');
printf("  ");
for (int i = 1;i<value;i++) putchar('#');
printf("\n");
for (int i = 0;i<value;i++) putchar('#');
printf("  ");
for (int i = 0;i<value;i++) putchar('#');
printf("\n");
}
}


评论