【无标题】

1.题目描述

解题思路

先在行里面查找出最大值,再从找到的这个最大值所在列判断是否有其他数比行最大值小,找到了,说明find为0

C语言实现

cpp 复制代码
#include <stdio.h>
int main()
{
    int m,n;
    scanf("%d %d",&m,&n);
    int Array[m][n];
    int find = 0;
    int row;
    for(int i = 0;i < m;i++){
        for(int j = 0;j < n;j++){
            scanf("%d",&Array[i][j]);
        }
    }
    for(int i = 0;i < m;i++){
        row = 0;
        for(int j = 1;j < n;j++){
            if(Array[i][j]>Array[i][row]){
                row = j;
            }
        }
        int min = 1;
        for(int k = 0;k <m;k++){
            if(Array[i][row]>Array[k][row]){
                min = 0;
                break;
            }
        }
        if(min){
            printf("Array[%d][%d]=%d",i,row,Array[i][row]);
            find = 1;
            break;
        }
    }
    if(!find){
        printf("None");
    }
    return 0;
}

2.题目描述

解题思路

汉诺塔问题,

1.把n-1个金片从from移到to,借助temp

2.把第n个金片从from移到to;

3.把第n-1个金片从temp移到to借助from

C语言实现

cpp 复制代码
#include <stdio.h>
void hanoi(int n,char from,char temp,char to)
{
    if(n == 1){
        printf("Move disk %d from %c to %c\n",n,from,to);
        return;
    }
    hanoi(n - 1,from,to,temp);
    printf("Move disk %d from %c to %c\n",n,from,to);
    hanoi(n - 1,temp,from,to);

}
int main()
{
    int n;
    scanf("%d",&n);
    hanoi(n,'A','B','C');
    return 0;
}

3.题目描述

解题思路

定义字符串实际是定义一个二维数组,然后定义将str[0]设为min,str[1]设为mid,str[2]设为min;

分别与其他值作比较进行交换

C语言实现

cpp 复制代码
#include <stdio.h>
#include <string.h>
int main()
{
    char str[3][100];
    char temp[100];
    scanf("%s %s %s",str[0],str[1],str[2]);
    if(strcmp(str[0],str[1])>0){
        strcpy(temp,str[0]);
        strcpy(str[0],str[1]);
        strcpy(str[1],temp);
    }
    if(strcmp(str[0],str[2])>0){
        strcpy(temp,str[0]);
        strcpy(str[0],str[2]);
        strcpy(str[2],temp);
    }
    if(strcmp(str[1],str[2])>0){
        strcpy(temp,str[1]);
        strcpy(str[1],str[2]);
        strcpy(str[2],temp);
    }
    printf("%s %s %s",str[0],str[1],str[2]);
    return 0;
}

4.题目描述

解题思路

看子串个数,先要比较检验母串与子串的长度大小,先处理特殊情况(子串>母串,子串为0)

再循环查找匹配的起始位置,与子串各个字符相对比,若全部匹配count++,最后输出的是count 的值,i记得要跳过重叠部分

C语言实现

cpp 复制代码
#include <stdio.h>
#include <string.h>
int main()
{
    char str[100];
    char s[100];
    scanf("%s",str);
    scanf("%s",s);
    int count = 0;
    int len_str = strlen(str);
    int len_s = strlen(s);
    if(len_s > len_str||len_s == 0){
        printf("0");
    }
    for(int i = 0;i <= len_str-len_s;i++){
        int match = 1;
        int j,k;
        for( j = 0, k = i;j < len_s;j++,k++){
            if(str[k]!=s[j]){
                match = 0;
                break;
            }
        }
        if(match){
            count++;
            i = i +len_s-1;
        }
    }
    printf("%d",count);
    return 0;
}
相关推荐
2302_813806222 分钟前
【嵌入式修炼:数据结构篇】——数据结构总结
数据结构
Wei&Yan25 分钟前
数据结构——顺序表(静/动态代码实现)
数据结构·c++·算法·visual studio code
团子的二进制世界1 小时前
G1垃圾收集器是如何工作的?
java·jvm·算法
吃杠碰小鸡1 小时前
高中数学-数列-导数证明
前端·数学·算法
故事不长丨1 小时前
C#线程同步:lock、Monitor、Mutex原理+用法+实战全解析
开发语言·算法·c#
long3161 小时前
Aho-Corasick 模式搜索算法
java·数据结构·spring boot·后端·算法·排序算法
近津薪荼1 小时前
dfs专题4——二叉树的深搜(验证二叉搜索树)
c++·学习·算法·深度优先
熊文豪1 小时前
探索CANN ops-nn:高性能哈希算子技术解读
算法·哈希算法·cann
熊猫_豆豆2 小时前
YOLOP车道检测
人工智能·python·算法
艾莉丝努力练剑2 小时前
【Linux:文件】Ext系列文件系统(初阶)
大数据·linux·运维·服务器·c++·人工智能·算法