写在前面
学习的过程就是和遗忘作斗争的过程~
题虽简单,复习一下,也许会有小收获!
题目来源于牛客,这里小结一下
所涉及知识点基本是循环、嵌套循环、条件判断、找规律。
题目
- 线段图案
- 正方形图案
- 直角三角形图案
- 翻转直角三角形图案
- 带空格直角三角形图案
- 金字塔图案
- 翻转金字塔图案
- 菱形图案
- K形图案
- 箭形图案
- 反斜线形图案
- 正斜线形图案
- X形图案 简单
- 空心正方形图案
- 空心三角形图案
开始
1-线段图案
#include<bits/stdc++.h>
using namespace std;
int main()
{
int i;
while(scanf("%d",&i) != EOF){
for(int j = 0;j<i;j++){
printf("*");
}
printf("\n");
}
return 0;
}
2-正方形图案
#include<bits/stdc++.h>
using namespace std;
int main()
{
int a;
while(scanf("%d",&a) != EOF){
for(int i = 0;i < a;i++){
for(int j = 0; j < a;j++){
printf("* ");
}
printf("\n");
}
}
return 0;
}
3-直角三角形图案
#include<bits/stdc++.h>
using namespace std;
int main()
{
int a;
while(scanf("%d",&a) != EOF){
for(int i = 0;i<a;i++){
for(int j = 0;j<=i;j++){
printf("* ");
}
printf("\n");
}
}
return 0;
}
4-翻转直角三角形图案
#include<bits/stdc++.h>
using namespace std;
int main()
{
int a;
while(scanf("%d",&a) != EOF){
for(int i = 0;i<a;i++){
for(int j = 0;j<a-i;j++){
printf("* ");
}
printf("\n");
}
}
return 0;
}
5-带空格直角三角形图案
#include<bits/stdc++.h>
using namespace std;
int main()
{
int a;
while(scanf("%d",&a) != EOF){
for( int i = 0;i<a;i++){
for(int j = 0;j<a-i-1;j++){
printf(" ");
}
for(int m = 0;m<i+1;m++){
printf("* ");
}
printf("\n");
}
}
return 0;
}
6-金字塔图案
#include<bits/stdc++.h>
using namespace std;
int main()
{
int a;
while(scanf("%d",&a) != EOF){
for(int i = 0;i<a;i++){
for(int j = 0;j<a-i-1;j++){
printf(" ");
}
for(int m = 0;m<i+1;m++){
printf("* ");
}
printf("\n");
}
}
return 0;
}
7-翻转金字塔图案
#include<bits/stdc++.h>
using namespace std;
int main()
{
int a;
while(scanf("%d",&a) != EOF){
for(int i = 0;i<a;i++){
for(int j =0;j<i;j++){
printf(" ");
}
for(int m = 0;m<a-i;m++){
printf("* ");
}
printf("\n");
}
}
return 0;
}
8-菱形图案
#include<bits/stdc++.h>
using namespace std;
int main()
{
int a;
while(scanf("%d",&a) != EOF){
for(int i = 0;i<a;i++){
for(int j = 0;j<a-i;j++){
printf(" ");
}
for(int m = 0;m<i+1;m++){
printf("* ");
}
printf("\n");
}
for(int n = 0;n<a+1;n++){
printf("* ");
}
printf("\n");
for(int i = 0;i<a;i++){
for(int j = 0;j<i+1;j++){
printf(" ");
}
for(int l = 0;l<a-i;l++){
printf("* ");
}
printf("\n");
}
}
}
9-K形图案
#include <cstdio>
int main()
{
int a;
while(~scanf("%d",&a))
{
for(int i=a;i>0;--i)//上半部分 a行
{
for(int j=0;j<=i;++j)
printf("* ");
for(int k=0;k<a-i;++k)//这是一个坑 需要输出空格
printf(" ");
printf("\n");
}
for(int i=0;i<=a;++i)//下半部分 a+1行
{
for(int j=0;j<=i;++j)
printf("* ");
for(int k=0;k<a-i;++k)//这是一个坑 需要输出空格
printf(" ");
printf("\n");
}
}
return 0;
}
10-箭形图案
#include<bits/stdc++.h>
using namespace std;
int main()
{
int a;
while(scanf("%d",&a) != EOF){
//上半部分
for(int i = 0;i<a;i++){
for(int j = 0;j<2*(a-i);j++){
printf(" ");
}
for(int k = 0;k<i+1;k++){
printf("*");
}
printf("\n");
}
//中间部分
for(int l = 0;l<a+1;l++){
printf("*");
}
printf("\n");
//下半部分
for(int m = 0;m<a;m++){
for(int n = 0;n<2*(m+1);n++){
printf(" ");
}
for(int o = 0;o<a-m;o++){
printf("*");
}
printf("\n");
}
}
return 0;
}
11-反斜线形图案
#include<bits/stdc++.h>
using namespace std;
int main()
{
int a;
while(scanf("%d",&a) != EOF){
for(int i = 0;i<a;i++){
for(int j = 0;j<i;j++){
printf(" ");
}
printf("*");;
for(int k = 0;k<a-i;k++){
printf(" ");
}
printf("\n");
}
}
return 0;
}
12-正斜线形图案
#include<bits/stdc++.h>
using namespace std;
int main()
{
int a;
while(scanf("%d",&a) != EOF){
for(int i = 0;i<a;i++){
for(int j = 0;j<a-i-1;j++){
printf(" ");
}
printf("*");
for(int k = 0;k<i;k++){
printf(" ");
}
printf("\n");
}
}
}
13-X形图案
#include <bits/stdc++.h>
using namespace std;
int main() {
int n;
while (scanf("%d", &n) != EOF) {
//行数n
for(int i = 0; i < n; ++i) {
//列数n,内嵌循环
for(int j = 0; j < n; ++j) {
if(i == j)
printf("*");
else if(j == n-i-1)
printf("*");
else
printf(" ");
}
printf("\n");
}
}
return 0;
}
14-空心正方形图案
#include<bits/stdc++.h>
using namespace std;
int main()
{
int a;
while(scanf("%d",&a) != EOF){
for(int i = 0;i<a;i++){
for(int j = 0;j<a;j++){
if(i == 0 || i == a-1){
printf("* ");
}
else{
if(j == 0 || j == a-1){
printf("* ");
}
else{
//注意这里是两个空格
printf(" ");
}
}
}
printf("\n");
}
}
return 0;
}
15-空心三角形图案
#include<bits/stdc++.h>
using namespace std;
int main()
{
int a;
while(scanf("%d",&a) != EOF){
for(int i = 0;i<a;i++){
for(int j = 0;j<a;j++){
if(j == 0 || i == j || i == a-1){
printf("* ");
}
else{
printf(" ");
}
}
printf("\n");
}
}
}