当前位置:首页 » 《随便一记》 » 正文

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

27 人参与  2023年03月30日 18:04  分类 : 《随便一记》  评论

点击全文阅读


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

前言?递增序列? 总结撒花?
追梦之旅,你我同行

   
?博客昵称:博客小梦
?最喜欢的座右铭:全神贯注的上吧!!!
?作者简介:一名热爱C/C++,算法等技术、喜爱运动、热爱K歌、敢于追梦的小博主!
?博主小留言:哈喽!?各位CSDN的uu们,我是你的博客好友小梦,希望我的文章可以给您带来一定的帮助,话不多说,文章推上!欢迎大家在评论区唠嗑指正,觉得好的话别忘了一键三连哦!?
在这里插入图片描述

前言?

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

递增序列?

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

例如,如下矩阵中

LANNQIAO

在这里插入图片描述

VLPWJVVNNZSWFGHSFRBCOIJTPYNEURPIGKQGPSXUGNELGRVZAGSDLLOVGRTWEYZKKXNKIRWGZWXWRHKXFASATDWZAPZRNHTNNGQFZGUGXVQDQAEAHOQEADMWWXFBXECKAVIGPTKTTQFWSWPKRPSMGABDGMGYHAOPPRRHKYZCMFZEDELCALTBSWNTAODXYVHQNDASUFRLYVYWQZUTEPFSFXLTZBMBQETXGXFUEBHGMJKBPNIHMYOELYZIKHZYZHSLTCGNANNXTUJGBYKUOJMGOGRDPKEUGVHNZJZHDUNRERBUXFPTZKTPVQPJEMBHNTUBSMIYEGXNWQSBZMHMDRZZMJPZQTCWLRZNXOKBITTPSHEXWHZXFLWEMPZTBVNKNYSHCIQRIKQHFRAYWOPGMHJKFYYBQSDPOVJICWWGGCOZSBGLSOXOFDAADZYEOBKDDTMQPAVIDPIGELBYMEVQLASLQRUKMXSEWGHRSFVXOMHSJWWXHIBCGVIFGWRFRFLHAMYWYZOIQODBIHHRIIMWJWJGYPFAHZZWJKRGOISUJCEKQKKPNEYCBWOQHTYFHHQZRLFNDOVXTWASSQWXKBIVTKTUIASKPEKNJFIVBKOZUEPPHIWLUBFUDWPIDRJKAZVJKPBRHCRMGNMFWWCGZAXHXPDELTACGUWBXWNNZNDQYYCIQRJCULIEBQBLLMJEUSZPRWHHQMBIJWTQPUFNAESPZHAQARNIDUCRYQAZMNVRVZUJOZUDGSPFGAYBDEECHUXFUZIKAXYDFWJNSAOPJYWUIEJSCORRBVQHCHMRJNVIPVEMQSHCCAXMWEFSYIGFPIXNIDXOTXTNBCHSHUZGKXFECLYZBAIIOTWLREPZISBGJLQDALKZUKEQMKLDIPXJEPENEIPWFDLPHBQKWJFLSEXVILKYPNSWUZLDCRTAYUUPEITQJEITZRQMMAQNLNDQDJGOWMBFKAIGWEAJOISPFPLULIWVVALLIIHBGEZLGRHRCKGFLXYPCVPNUKSWCCGXEYTEBAWRLWDWNHHNNNWQNIIBUCGUJYMRYWCZDKISKUSBPFHVGSAVJBDMNPSDKFRXVVPLVAQUGVUJEXSZFGFQIYIJGISUANRAXTGQLAVFMQTICKQAHLEBGHAVOVVPEXIMLFWIYIZIIFSOPCMAWCBPKWZBUQPQLGSNIBFADUUJJHPAIUVVNWNWKDZBHGTEEIISFGIUEUOWXVTPJDVACYQYFQUCXOXOSSMXLZDQESHXKPFEBZHJAGIFGXSMRDKGONGELOALLSYDVILRWAPXXBPOOSWZNEASVJGMAOFLGYIFLJTEKDNIWHJAABCASFMAKIENSYIZZSLRSUIPCJBMQGMPDRCPGWKTPLOTAINXZAAJWCPUJHPOUYWNWHZAKCDMZDSRRRARTVHZYYCEDXJQNQAINQVDJCZCZLCQWQQIKUYMYMOVMNCBVYABTCRRUXVGYLZILFLOFYVWFFBZNFWDZOADRDCLIRFKBFBHMAXX

解题思路分析: ?

首先创建一个字符数组来存储以这个字符矩阵,必要忘了还要存储 ‘\0’。然后利用gets循环输入每一行的字符串。通过循环遍历这个矩阵的每一个元素。横向判断,从每一行的首元素开始,和该行的每一个元素进行比较,符合递增条件的就让count++。纵向判断:从第一列的首元素开始,和该列的每一个元素进行比较,符合递增条件的就让count++。和上面思路一致,让位于矩阵每一条右下斜线的前一个元素和后面元素依次进行比较,如果满足,就让count++。比较特殊的是矩阵每条右上斜线的判断,只需要根据先后两个元素相不相等作为判断条件。例如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;}

程序输出结果验证: ?

在这里插入图片描述

总结撒花?

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


点击全文阅读


本文链接:http://zhangshiyu.com/post/57454.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

关于我们 | 我要投稿 | 免责申明

Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1