0
点赞
收藏
分享

微信扫一扫

【c语言每日练习】 ——1. <牛客网>编程初学者入门训练——字符矩形、字符菱形

吴wuwu 2022-03-12 阅读 77

前言

目录

1.          BC7-牛牛的字符矩形

描述

分析

代码实现

 2.        BC7-牛牛的字符菱形

描述

分析 

代码实现 


注:这两个题均可以使用直接输出的方式

1.          BC7-牛牛的字符矩形

牛牛的字符矩形_牛客题霸_牛客网 (nowcoder.com)

描述

牛牛尝试用键盘读入一个字符,然后在屏幕上显示用这个字符组成的 3*3 的矩形。

输入描述:

一行读入一个 char 类型的字符。

输出描述:

输出这个字符组成的 3*3 矩形。

示例

分析

解题思路

代码实现

#include <stdio.h>
int main(){
    char ch;
    int i,j;

    scanf("%c",&ch);

    for(i=0;i<3;i++){       //行数

        for(j=0;j<3;j++){   //每行的个数(列数)
            printf("%c",ch);
        }
        printf("\n");      //换行
    }

    return 0;
}

 2.        BC7-牛牛的字符菱形

牛牛的字符菱形_牛客题霸_牛客网 (nowcoder.com) 

描述

牛牛尝试用键盘读入一个字符,然后在屏幕上显示一个用这个字符填充的对角线长5个字符,倾斜放置的菱形。

输入描述:

输入一个char类型字符

输出描述:

输出一个用这个字符填充的对角线长5个字符,倾斜放置的菱形

 示例:

分析 

 

前三行:【第一个大循环】我们可以先分析红色部分的输出规律,第一行输出两个空格,第二行输出一个空格,第三行输出0个空格。好,那我们现在思考一下,有什么样的规律呢?       第一行的两个空格是3-1,第二行的一个空格是3-2,第三行的0个空格是3-3,显而易见,这个规律就是3-行数。最后我们只需要利用循环来实现这个代码即可。

  for(k=0;k<3-i;k++){
            printf(" ");

 下一步我们就该打印字符了,观察字符个数与行数(i)的关系:

因此,打印字符的代码就可以写为

for(j=0;j<2*i-1;j++){     
            printf("%c",ch);}

后两行:【第二个大循环】令第四行为第二个大循环的第一行,那么我们就可以发现,新的第一行与第二行的行数与所要输出的空格数相同。

 for(k=0;k<i;k++)   
            printf(" ");

最后观察最后两行所输出的字符数,我们依旧利用循环来完成。

第一行循环三次,第二行循环一次,该关系式可以写为5-2*i;

for(j=0;j<5-2*i;j++)           
            printf("%c",ch);

 

解题思路 

代码实现 

#include <stdio.h>
int main(){
    char ch;
    scanf("%c",&ch);
    int i,j,k;
    
    for(i=1;i<=3;i++)
    {
        for(k=0;k<3-i;k++){
            printf(" ");                //打印前三行的空格
        }
        for(j=0;j<2*i-1;j++){     
            printf("%c",ch);            //打印前三行的字符
        }
         printf("\n");                  //前三行 每行结束时换行
    }
    for(i=1;i<=2;i++)  
     {
        for(k=0;k<i;k++)   
            printf(" ");                //打印最后两行的空格
            
        for(j=0;j<5-2*i;j++)           
            printf("%c",ch);            //最后两行的字符
        printf("\n");
     }
    return 0;
}
举报

相关推荐

0 条评论