【C语言】打印图案——三角形、菱形等-爱代码爱编程
问题一:
输入正整数n,输出n行字符图案。
例如n=5时输出:
分析:
每行都是5个字符。
第n行之前,空格逐行减少1,*逐行增加1
第n行之后,空格逐行增加1,*逐行减少1
#include <stdio.h>
int main()
{
int n, i, j;
scanf("%d", &n);
for(i=1; i<=2*n-1; i++)
{
if(i<=n)
{
for(j=1; j<=n-i; j++) printf(" ");
for( ; j<=n; j++) printf("*");
printf("\n");
}
else
{
for(j=1; j<=i-n; j++) printf(" ");
for( ; j<=n; j++) printf("*");
printf("\n");
}
}
}
问题二:
输入正整数n,要求输出如下2*n+1行的菱形图案。(菱形右边不留多余空格)
例如n=2时输出:
#include <stdio.h>
int main()
{
int n, i, j, k, t;
scanf("%d", &n);
for(i=1, j=n; i<=n+1; i++, j--)
{
for(k=1; k<=j; k++) printf(" ");
for(t=k; t<=2*n+1-j; t++) printf("*");
printf("\n");
}
for(i=n+2, j=1; i<=2*n+1; i++, j++)
{
for(k=1; k<=j; k++) printf(" ");
for(t=k; t<=2*n+1-j; t++) printf("*");
printf("\n");
}
}
问题3:
输入正整数n,输出如下中间数字为n的菱形图案。(菱形右边不留多余空格)
例如n=4时输出:
#include <stdio.h>
int main()
{
int n, i, j, k, t, p;
scanf("%d", &n);
for(i=1, j=n-1; i<=n; i++, j--)
{
for(k=1; k<=j; k++) printf(" ");
for(t=1; t<=i; t++) printf("%d", t);
for(t=t-2; t>=1; t--) printf("%d", t);
printf("\n");
}
for(i=n+1, j=1, p=n-1; i<=2*n-1; i++, j++, p--)
{
for(k=1; k<=j; k++) printf(" ");
for(t=1; t<=p; t++) printf("%d", t);
for(t=t-2; t>=1; t--) printf("%d", t);
printf("\n");
}
}
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接: https://blog.csdn.net/weixin_47135547/article/details/106268541