油管视频《编程思维》中的题目,使用C语言编写出来,第六集,峡谷

假设机器人要使用各类注诸如A,B,C,D等等方块搭桥,这些方块搭成的桥要有以下特性,比如说首先A型方块能被排列道左右两侧,接着A型方块内侧,分别排放两个B型号方块,最好C型方块正好被放在两块B之间,但假设多一块A型方块,首先两块A排列好,然后两块B排列好,但剩下的A块和C块就没地方放了,因此桥会塌陷,所以必须满足如ABCBA,或者AABBCBBAA,或者BCACB,ACBCA,BBCCCACCCBB,只要满足回文结构这样的格式,桥才能稳固构架起来,不会塌陷,请问该给出什么指令,才能让它有效地找到并激活一堆稳固且为回文结构的漂浮块?

涉及的编程基础原理

1,字符串处理:我们将方块排列表示为字符串,并对字符串进行操作。

2,条件判断:使用条件语句来检查桥的稳固条件。

3,循环结构:遍历字符串以检查回文结构和统计各类型方块的数量。

4,函数使用:定义和调用函数来组织代码,提高代码的可读性和可维护性。

程序编写

#include <stdio.h>

#include <string.h>

int isPalindrome(char brige[])//检查桥是否为回文结构

{

        int len = strlen(brige[]);//使用 strlen 函数计算字符串 bridge 的长度,并将结果存储在变量 len 中。

         for(int i=0;i<len/2;i++)

        {

                if(brige[i]!=brige[len-i-1])

                {

                        renturn 0;//for (int i = 0; i < len / 2; i++) {:使用 for 循环遍历字符串的前半部分。循环变量 i 从 0 开始,直到 len / 2(字符串长度的一半)。if (bridge[i] != bridge[len - 1 - i]) {:检查字符串的第 i 个字符是否与其对应的倒数第 i 个字符相同。如果不相同,则执行 return 0;

                }

                return 1;

        }

int main()

{

        char brige[100];//定义数组的大小,

        printf("请输入……");

        scanf("%s",&brige);

        if(isPalindrome(brige))

        {

                printf("桥稳固为回文结构,/n");

        } else {

                printf("桥不稳固不为回文结构,/n")

        }

        return 0;

        

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值