BC106. K形图案
描述
KiKi学习了循环,BoBo老师给他出了一系列打印图案的练习,该任务是打印用“*”组成的K形图案。输入描述
多组输入,一个整数(2~20)。
输出描述
针对每行输入,输出用“*”组成的K形,每个“*”后面有一个空格。示例1
输入:
2
输出:
* * * * * * * * * * *
示例2
输入:
3
输出:
* * * * * * * * * * * * * * * * * * *
示例3
输入:
4
输出:
* * * * * * * * * * * * * * * * * * * * * * * * * * * * *
C 解法, 执行用时: 1ms, 内存消耗: 192KB, 提交时间: 2021-09-05
#include <stdio.h> int main() { int n; while(scanf("%d",&n)!=EOF) { int i,j; for(i=0;i<n+1;i++) { for(j=0;j<n+1-i;j++) { printf("* "); } printf("\n"); } int m,k; for(m=0;m<n;m++){ for(k=0;k<m+2;k++){ printf("* "); } printf("\n"); } } return 0; }
C 解法, 执行用时: 1ms, 内存消耗: 200KB, 提交时间: 2021-07-21
#include<stdio.h> int main(){ int n = 0; while (scanf("%d", &n) != EOF) { int j = 0; for (int i = 0; i <= n; i++)//上半部分行数 { for (j = n; j >= i; j--)//每行要打印的个数 printf("* "); for (int k = 0; k < i; k++)//每行后都有一些空格要输入 printf(" "); printf("\n"); } for (int i = 0; i < n; i++)//下半部分行数 { for (int k = j - 1; k < n + i; k++)//每行打印的个数 printf("* "); for (int k = n - i; k > 1; k--) printf(" "); printf("\n"); } } return 0; }
C 解法, 执行用时: 1ms, 内存消耗: 220KB, 提交时间: 2021-06-28
// #include<stdio.h> // int main() // { // int a = 0; // while (scanf("%d", &a) != EOF) // { // getchar(); // int i = 0; // int j = 0; // int k = 0; // int c = a + 2; // for (i = 0; i < a + 1; i++) // { // c = c - 1; // for (j = 0; j < c; j++) // { // printf("* "); // } // for(k = 0; k < a-i; k++) // { // printf(" "); // } // printf("\n"); // } // for (i = 0; i < a ; i++) // { // c = c + 1; // for (j = c; j > 0; j--) // { // printf("* "); // } // for(k = 0; k < a-i; k++) // { // printf(" "); // } // printf("\n"); // } // } // return 0; // } #include <stdio.h> 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; }
C 解法, 执行用时: 1ms, 内存消耗: 220KB, 提交时间: 2021-03-20
#include<stdio.h> int main() { int i = 0; int j = 0; int n = 0; while(~scanf("%d", &n)) { //打印上半部分 for(i = 0; i < n; i++) { //打印*加空格 for(j = 0; j < n+1-i; j++) { printf("* "); } //打印空格 for(j = 0; j <= i; j++) { printf(" "); } printf("\n"); } //打印下半部分 for(i = 0; i < n+1; i++) { //打印*加空格 for(j = 0; j < i+1; j++) { printf("* "); } //打印空格 for(j = 0; j < n; j++) { printf(" "); } printf("\n"); } } return 0; }
C 解法, 执行用时: 1ms, 内存消耗: 220KB, 提交时间: 2020-12-21
#include <stdio.h> int main() { int n,i,j; while(scanf("%d",&n)!=EOF) { for(i=0;i<n;i++) { for(j=i;j<=n;j++) printf("* "); for(j=n-i;j<=n;j++) printf(" "); printf("\n"); } for(i=0;i<=n;i++) { for(j=0;j<=i;j++) printf("* "); for(j=n-i;j>=1;j--) printf(" "); printf("\n"); } } }