【C语言】-- X型图案

这篇具有很好参考价值的文章主要介绍了【C语言】-- X型图案。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

       今天刷了牛客网上的一道题,不难,但思路很重要,否则你就得写一长串代码,下面是要求。牛客网链接->X形图案。

【C语言】-- X型图案,c语言

下面是两组示例。

 【C语言】-- X型图案,c语言

     通过观察示例,我们发现输入的数字是奇数时,图案最中间只有一个*,其余行均输出两个*。而若输入的数字为偶数时,图案最中间两行排列一样,且都是输出两个*。这是两种图案的区别。

思路:输入的数字等于输出的行数和列数,即使用两个for循环搞定,关键是图案每行都输出两个‘*’字符(除输入奇数时的最中间一行为一个‘*’)其余均用空格字符输出。其次,当分别输入5和6时:【C语言】-- X型图案,c语言

     所以我们不妨设两个整型变量left,right刚开始让left指向第一列,right指向最后一列。当进入第二个for循环(即列循环)里面时 当 j == left || j == right  时输出*,循环完成后left++,right--。然后以此循环。就完成打印了。

left,right的好处:不用考虑输入的数字为奇数偶数时,最中间该如何输出。

          因为若输入奇数,输出最中间一行时left和right肯定是相等的,就会输出一个*,其余全用空格输出。

         若输入偶数,任意两行的left和right肯定是不相等的。那必然会输出两个*。

 核心代码如下:

        int left = 1;

        int right = a;// a为输入的行数

        for (int i = 1; i <= a; i++) {

            for (int j = 1; j <= a; j++) {

                if (j == left || j == right)

                    printf("*");

                else printf(" ");

            }

 完整代码:

#include<stdio.h>
int main() {

    int a = 0;
    while (scanf("%d", &a) == 1) {
        int left = 1;
        int right = a;
        for (int i = 1; i <= a; i++) {

            for (int j = 1; j <= a; j++) {
                if (j == left || j == right)
                    printf("*");
                else printf(" ");
            }
            printf("\n");
            left++;
            right--;
        }
    }
    return 0;
}

   

         下面还有一道例题思路和上面是一样的。牛客网链接->带空格直角三角形图案

【C语言】-- X型图案,c语言

 代码如下:文章来源地址https://www.toymoban.com/news/detail-517641.html

#include<stdio.h>
int main(){
    int a = 0;
   while(scanf("%d",&a)==1){
        int tmp = a;
        for(int i=1;i<=a;i++){
            for(int j = 1;j<=a;j++){
                if(j<tmp)
                    printf("  ");
                else printf("* ");
            }
            tmp--;
            printf("\n");
        }
   }
    return 0;
}

到了这里,关于【C语言】-- X型图案的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • C语言打印金字塔,菱形,V形图案

    文章目录 目录 文章目录 前言 一、打印金字塔(等腰三角形) 1.图案 2.代码 二、打印菱形(两个三角形拼在一起) 1.图案 2.代码 三.打印V形  1.图案   2.代码 四.打印(倒着的)V  1.图案   2.代码 总结 使用C语言打印图形,金字塔(等腰三角形),菱形(用两个等腰三角形上下

    2024年02月06日
    浏览(31)
  • C语言入门到精通之练习七:输出特殊图案,请在c环境中运行,看一看,Very Beautiful!

    题目: 输出特殊图案,请在c环境中运行,看一看,Very Beautiful! 程序分析: 字符共有256个。不同字符,图形不一样。 VC6.0下出现中文乱码(原因+解决方法): 176的16进制是B0,219的16进制是DB,0xB0DB是\\\"佰\\\"字的内码,所以输出的就是\\\"佰\\\"了。 主要原因是文件信息的代码页不同,我们

    2024年01月23日
    浏览(28)
  • Java中打印图案最常用的25个图案程序

    Java是公认的最流行的编程语言,因为它的简单性和多功能性。还可以使用它开发各种应用程序,包括Web、移动和桌面应用程序。此外,Java为开发人员提供了强大的工具来轻松高效地创建复杂的程序。Java最有前途的特性之一是它能够创建可以以特定格式打印数字的图案程序。

    2024年01月20日
    浏览(30)
  • 菱形图案(java)

    第一种方法 1.使用for循环进行输出菱形 输出菱形的空格需要把握好(阔以用for循环) 下部分林型7直接把上部分的代码复制粘贴一份,修改一下参数,+=变成-= 代码如下: public class for4 { public static void main(String[] args) {  int sp = 20;  for (int i = 1; i = 20; i += 2) {  sp--;  //空格  for (int n =

    2024年02月07日
    浏览(23)
  • Java代码输出心形图案

    初学编程的小伙伴肯定有过这样一个想法,就是我能不能利用代码来输出一个特定的图案呢?比如一个爱心?那必然是可以的,代码能实现的功能很多,这只是其中的一小小用法。以下是思路与代码。 暴力解法 : 我们可以先画出一个正方形,然后,随后我们可以在这个正方

    2024年02月02日
    浏览(33)
  • Fabric.js 图案笔刷

    带尬猴,我是德育处主任 Fabric.js 有图案画笔功能,这个功能可以简单理解成“刮刮卡”效果。 如果只是看 Fabric.js 文档可能还不太明白 图案画笔 PatternBrush 是如何使用。 本文将讲解如何配置这款画笔的基础属性。 先看看效果 图案画笔(笔刷)的用法其实和普通的画笔差不

    2024年02月08日
    浏览(27)
  • 用python打印出菱形图案

    你可以使用Python编写一个简单的函数来打印菱形图案。下面是一个例子,这个函数接受一个参数 n ,表示菱形的高度,然后打印出一个菱形图案: def print_diamond(n):     # 上半部分     for i in range(n):         print(\\\" \\\" * (n - i - 1) + \\\"*\\\" * (2 * i + 1))     # 下半部分     for

    2024年02月05日
    浏览(29)
  • 【敬伟ps教程】颜色和图案的填充

    油漆桶工具可以填充前景色和图案,快捷键 G 选好前景色,点击画布,画布就会被填充前景色; 建立选区后,填充会在选区内进行; 油漆桶用来填充相近颜色的区域;例如用油漆桶点击球员的球衣,球衣会被填充成前景色。范围可以通过容差来设置,容差值越大,选择范围

    2024年02月06日
    浏览(25)
  • 用python画一些有趣的图案(001)

    1、python画迪斯科灯  2、Python画随机雨点  3、Python画五彩螺旋 五彩螺旋2    

    2024年02月11日
    浏览(33)
  • 【Midjourney】Midjourney Prompt 提示词 ④ ( 纹身设计 | 建筑设图案 | 照片级真实性图像 | 玻璃窗设计图案 | 使用 Blender 制作的 3D 图像 )

    tattoo 提示词 可生成 纹身设计图案 ; 提示词格式 : 描述内容 tattoo design 示例 : /imagine prompt octopus tattoo design 生成效果 : 大图展示 : 使用 architecture / interior design 提示词 可生成 建筑设计图案 ; 适合 建筑设计 , 装修设计 从业者使用 ; 提示词格式 : architecture / interior design 描述内容

    2024年02月10日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包