之前也写过一篇简单小题练习,但后来由于某些不可抗因素而断更(别问,问就是小编忘了有这回事😅,今天才想起来要写),现在继续写相关文章。😜
前言:
在进行c语言入门刷题,难免会碰到图形打印的题目。小编也整理了一些题目,接下来就由我来带领你们一起解决它们吧✊️✊️(本文用两章节内容,主要是第二章内容小编也在学习中,等小编会了之后再写😽😽)
目录:
打印线段图案
打印正方形图案
直角三角形图案
金字塔
翻转直角三角形
带空格的直角三角形
翻转金字塔图案
菱形图案
废话不多说,让我们开始学习吧!👊👊
第一题打印线段图案,先来看题
注意题中是多组输入并且是一个整形所以这里我们要用while循环。②针对每行输入,输出占一行。这句话告诉我们,打印一行图形就进行换行。
#include <stdio.h>
int main ()
{
int n = 0;
while(~(scanf("%d",&n)))
{
int i = 0;
for(i=0;i<n;i++)
{
printf("*");
}
printf("\n");
}
return 0;
}
到这里就可以在牛客上提交代码了。
第二题打印正方形图案,来,上题
第一步还是审题:这里呢和上面一题一样都是多组输入。但是要注意,题中要求每个*后面要有一个空格。这是与上题的不同之处。分析完毕,上代码。
#include<stdio.h>
int main ()
{
int n = 0;
while((scanf("%d",&n))!EOF)
{
int i = 0;
for(i=0;i<n;i++)//打印总行数
{
//打印一行代码
int j = 0;
for(j=0;j<n;j++)
{
printf("* ");
}
printf("\n");//打印一行就要进行换行
}
}
return 0;
}
ok,接下来提交就好。
第三题打印直角三角形
这题需要注意的点和上一题相似,但不同是这题是打印三角形。
#include<stdio.h>
int main()
{
int n = 0;
while(~(scanf("%d",&n)))
{
int i = 0;
for(i=0;i<n;i++)//控制打印总行数
{
int j = 0;
for(j=0;j<=i;j++)//打印一行
{
printf("* ");
}
printf("\n");//打印一行结束后需要进行换行
}
}
return 0
}
在示例中打印的个数随着i的变化而变化,说明
i控制着j故而可以得出j<i。又因为当i=0时,打印一个*,可知j<=i.综上可得出在for循环中j<=i.这里也是与打印正方形的不同点
第四题打印金字塔图案
注意事项同上
#include<stdio.h>
int main()
{
int n = 0;
while(~(scanf("%d",&n)))
{
int i = 0;
for(i=0;i<n;i++)
{
int j = 0;
for(j=0;j<n-i;j++)
{
printf(" ");
}
for(j=0;j<=i;j++)
{
printf("* ");
}
printf("\n");
}
}
return 0;
}//金字塔是由空格加字符组成,所以要打印空格(重要)
我也记不清第几题了,打印翻转直角三角形
注意事项同上(我好饿,快饿扁了)
#include<stdio.h>
int main()
{
int n = 0;
while(~(scanf("%d",&n)))
{
int i = 0;
for(i=0;i<n;i++)
{
int j = 0;
for(j=0;j<n-i;j++)
{
printf("* ");
}
printf("\n");
}
}
return 0;
}
下一题,来上饭,打印带空格的直角三角形
这里呢着重突出了带空格,那这个是什么意思呢,来,上图,看图你就明白了
带空格的意思是,要打印*前面的空格
#include<stdio.h>
int main ()
{
int n = 0;
while(~(scanf("%d",&n)))
{
int i = 0;
for(i=0;i<n;i++)
{
int j = 0;
for(j=0;j<n-i-1;)
{
printf(" ");
}
for(j=0;j<=i;j++)
{
printf("* ");
}
printf("\n");
}
}
return 0;
}
到这里应该没有疑问吧,好哒那下一题
这题也要打印空格
#include<stdio.h>
int main ()
{
int n = 0;
while(~(scanf("%d",&n)))
{
int i = 0;
for(i=0;i<n;i++)
{
int j = 0;
for(j=0;j<i;j++)
{
printf(" ");
}
for(j=0;j<n-i;j++)
{
printf("* ");
}
printf("\n");
}
}
return 0;
}
终于到了最后一道题,我真的快饿扁了
废话不多说,直接上代码
#include<stdio.h>
int main()
{
int n = 0;
while(~(scanf("%d",&n)))
{
int i = 0;
for(i=0;i<n;i++)
{
int j = 0;
for(j=0;j<n-i;j++)
{
printf(" ")
}
for(j=0;j<=i;j++)
{
printf("* ");
}
printf("\n");
}
for(i=0;i<n+1;i++)
{
int j = 0;
for(j=0;j<i;j++)
{
printf(" ");
}
for(j=0;j<n+1-i;j++)
{
printf("* ");
}
printf("\n");
}
}
return 0;
}
打印菱形可以分为两部分打印,你品,你细品😬
结束了🤗🤗
- 要是我哪里代码写错了,请多多包涵。不要问为什么不用已经写好的截图,问就是我忘了😂写完这篇博客了才发现自己原来可以用截图
- 创作不易还望各位看官老爷点点赞点点关注😘😘