【C语言蓝桥杯每日一题】—— 递增序列

简介: 递增序列🙌对于一个字母矩阵,我们称矩阵中的一个递增序列是指在矩阵中找到两个字母,它们在同一行,同一列,或者在同一4545 度的斜线上,这两个字母从左向右看、或者从上向下看是递增的。

微信图片_20230427214238.gif

😎博客昵称:博客小梦

😊最喜欢的座右铭:全神贯注的上吧!!!

😊作者简介:一名热爱C/C++,算法等技术、喜爱运动、热爱K歌、敢于追梦的小博主!

😘博主小留言:哈喽!😄各位CSDN的uu们,我是你的博客好友小梦,希望我的文章可以给您带来一定的帮助,话不多说,文章推上!欢迎大家在评论区唠嗑指正,觉得好的话别忘了一键三连哦!😘


微信图片_20230427160707.gif


前言🙌


   哈喽各位友友们😊,我今天又学到了很多有趣的知识,现在迫不及待的想和大家分享一下!😘我仅已此文,和大家分享【C语言蓝桥杯每日一题】—— 递增序列~ 都是精华内容,可不要错过哟!!!😍😍😍


递增序列🙌


对于一个字母矩阵,我们称矩阵中的一个递增序列是指在矩阵中找到两个字母,它们在同一行,同一列,或者在同一45

45 度的斜线上,这两个字母从左向右看、或者从上向下看是递增的。


例如,如下矩阵中

LANN
QIAO

微信图片_20230428175957.png


VLPWJVVNNZSWFGHSFRBCOIJTPYNEURPIGKQGPSXUGNELGRVZAG
SDLLOVGRTWEYZKKXNKIRWGZWXWRHKXFASATDWZAPZRNHTNNGQF
ZGUGXVQDQAEAHOQEADMWWXFBXECKAVIGPTKTTQFWSWPKRPSMGA
BDGMGYHAOPPRRHKYZCMFZEDELCALTBSWNTAODXYVHQNDASUFRL
YVYWQZUTEPFSFXLTZBMBQETXGXFUEBHGMJKBPNIHMYOELYZIKH
ZYZHSLTCGNANNXTUJGBYKUOJMGOGRDPKEUGVHNZJZHDUNRERBU
XFPTZKTPVQPJEMBHNTUBSMIYEGXNWQSBZMHMDRZZMJPZQTCWLR
ZNXOKBITTPSHEXWHZXFLWEMPZTBVNKNYSHCIQRIKQHFRAYWOPG
MHJKFYYBQSDPOVJICWWGGCOZSBGLSOXOFDAADZYEOBKDDTMQPA
VIDPIGELBYMEVQLASLQRUKMXSEWGHRSFVXOMHSJWWXHIBCGVIF
GWRFRFLHAMYWYZOIQODBIHHRIIMWJWJGYPFAHZZWJKRGOISUJC
EKQKKPNEYCBWOQHTYFHHQZRLFNDOVXTWASSQWXKBIVTKTUIASK
PEKNJFIVBKOZUEPPHIWLUBFUDWPIDRJKAZVJKPBRHCRMGNMFWW
CGZAXHXPDELTACGUWBXWNNZNDQYYCIQRJCULIEBQBLLMJEUSZP
RWHHQMBIJWTQPUFNAESPZHAQARNIDUCRYQAZMNVRVZUJOZUDGS
PFGAYBDEECHUXFUZIKAXYDFWJNSAOPJYWUIEJSCORRBVQHCHMR
JNVIPVEMQSHCCAXMWEFSYIGFPIXNIDXOTXTNBCHSHUZGKXFECL
YZBAIIOTWLREPZISBGJLQDALKZUKEQMKLDIPXJEPENEIPWFDLP
HBQKWJFLSEXVILKYPNSWUZLDCRTAYUUPEITQJEITZRQMMAQNLN
DQDJGOWMBFKAIGWEAJOISPFPLULIWVVALLIIHBGEZLGRHRCKGF
LXYPCVPNUKSWCCGXEYTEBAWRLWDWNHHNNNWQNIIBUCGUJYMRYW
CZDKISKUSBPFHVGSAVJBDMNPSDKFRXVVPLVAQUGVUJEXSZFGFQ
IYIJGISUANRAXTGQLAVFMQTICKQAHLEBGHAVOVVPEXIMLFWIYI
ZIIFSOPCMAWCBPKWZBUQPQLGSNIBFADUUJJHPAIUVVNWNWKDZB
HGTEEIISFGIUEUOWXVTPJDVACYQYFQUCXOXOSSMXLZDQESHXKP
FEBZHJAGIFGXSMRDKGONGELOALLSYDVILRWAPXXBPOOSWZNEAS
VJGMAOFLGYIFLJTEKDNIWHJAABCASFMAKIENSYIZZSLRSUIPCJ
BMQGMPDRCPGWKTPLOTAINXZAAJWCPUJHPOUYWNWHZAKCDMZDSR
RRARTVHZYYCEDXJQNQAINQVDJCZCZLCQWQQIKUYMYMOVMNCBVY
ABTCRRUXVGYLZILFLOFYVWFFBZNFWDZOADRDCLIRFKBFBHMAXX


解题思路分析: 😍


1.首先创建一个字符数组来存储以这个字符矩阵,必要忘了还要存储 ‘\0’。

2.然后利用gets循环输入每一行的字符串。

3.通过循环遍历这个矩阵的每一个元素。

4.横向判断,从每一行的首元素开始,和该行的每一个元素进行比较,符合递增条件的就让count++。

5.纵向判断:从第一列的首元素开始,和该列的每一个元素进行比较,符合递增条件的就让count++。

6.和上面思路一致,让位于矩阵每一条右下斜线的前一个元素和后面元素依次进行比较,如果满足,就让count++。

7.比较特殊的是矩阵每条右上斜线的判断,只需要根据先后两个元素相不相等作为判断条件。例如2x2 矩阵|a b| |c d|的副对角线为cb,从左往右顺序为cb,从上往下顺序为bc,也就是说只要这两个字母不相等,必回有一次count++。而右下斜线就不能这样判断,因为其从左到右和从上到下的排列顺序都是一样的。以上面的那个2x2 矩阵|a b| |c d|的主对角线为例,从左往右顺序为,从上往下顺序为ad,所以要和右上斜线判断条件区分开来不要混淆了。


解题源码分享: 😍


#include <stdlib.h>
#include <stdio.h>
#include<string.h> 
int main()
{
    //输入的是一个字符串,别忘了存放\0
    char str[30][51];
    int i = 0;
    int j = 0;
    int l = 0;
    for (i = 0; i < 30; i++) 
    {
        gets(str[i]);
    }
    //斜向坐标
    int m = 0;
    int n = 0;
    int count = 0;
    for (i = 0; i < 30; i++)
    {
        for (j = 0; j < 50; j++)
        {
      //横向
      for (l = j; l < 50; l++)
      {
        if (str[i][j] < str[i][l])
          count++;
      }
      //纵向
      for (l = i; l < 30; l++)
      {
        if (str[i][j] < str[l][j])
          count++;
      }
      //右下,斜向
      for (m = i, n = j; m < 30 && n < 50; m += 1, n += 1)
      {
        if (str[i][j] < str[m][n])
          count++;
      }
      //右上,斜向
      for (m = i, n = j; m >= 0 && n < 50; m -= 1, n += 1) 
      {
        if (str[i][j] != str[m][n])
          count++;
      }
        }
    }
    printf("%d", count);
    return 0;
}


程序输出结果验证: 😊


微信图片_20230428180041.png


总结撒花💞


   本篇文章旨在分享【C语言蓝桥杯每日一题】—— 递增序列。希望大家通过阅读此文有所收获!😘如果我写的有什么不好之处,请在文章下方给出你宝贵的意见😊。如果觉得我写的好的话请点个赞赞和关注哦~😘😘😘

相关文章
|
7月前
|
C语言
你知道C语言中实现有序序列并序输出的2种方法吗?
你知道C语言中实现有序序列并序输出的2种方法吗?
|
7月前
|
算法 Java C语言
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-478 分数序列
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-478 分数序列
34 0
|
2月前
|
人工智能 算法 测试技术
2023年第15届蓝桥杯模拟赛第二期(c语言)
2023年第15届蓝桥杯模拟赛第二期(c语言)
119 0
|
7月前
|
C语言
c语言编程练习题:7-52 求简单交错序列前N项和
c语言编程练习题:7-52 求简单交错序列前N项和
67 0
|
7月前
|
C语言
c语言编程练习题:7-51 求奇数分之一序列前N项和
c语言编程练习题:7-51 求奇数分之一序列前N项和
77 0
|
6月前
|
C语言
C语言----获取一个整数二进制序列中所有的偶数位和奇数位,分别打印出二进制序列
C语言----获取一个整数二进制序列中所有的偶数位和奇数位,分别打印出二进制序列
|
7月前
|
测试技术
[蓝桥杯 2020 省 B1] 整除序列
[蓝桥杯 2020 省 B1] 整除序列
53 0
|
7月前
|
C语言
【C语言】求一个整数的二进制序列中1的个数的三种方法
【C语言】求一个整数的二进制序列中1的个数的三种方法
127 0
|
7月前
|
存储 算法 C语言
C语言练习记录(蓝桥杯练习)(小蓝数点)
C语言练习记录(蓝桥杯练习)(小蓝数点)
|
7月前
|
算法 Java C语言
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-934 序列
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-934 序列
51 0