首页 > 其他分享 >C语言作业(二)

C语言作业(二)

时间:2024-03-23 23:33:42浏览次数:16  
标签:arr return int 作业 len C语言 include strlen

1.在数组中查找某个数字

#include <stdio.h>

int main()
{
    int arr[] = { 1,2,3,4,5,6,8,9,10,11 };
    int k = 7;
    int sz = sizeof(arr) / sizeof(arr[0]);//求解数组的元素个数
    int left = 0;
    int right = sz - 1;
    while (left <= right)
    {
        int mid = (left + right) / 2;
        if (arr[mid] > k)
        {
            right = mid - 1;
        }
        else if (arr[mid] < k)
        {
            left = mid + 1;
        }
        else
        {
            printf("找到了,下标是:%d\n", mid);
            break;
        }
    }
    if (left > right)
    {
        printf("找不到\n");
    }
    return 0;
}

2.使用递归打印1234

#include <stdio.h>

void print(int n)
{
    if (n > 9)
    {
        print(n / 10);
    }
    printf("%d", n % 10);
}
int main()
{
    int num = 1234;
    print(num);
    return 0;
}

3.模拟strlen(法一)

#include <stdio.h>
#include <string.h>
int my_strlen(char* str)
{
    int count = 0;
    while(*str !='\0')//指针从左往右,直到遇到/0停下
    {
        count++;
        str++;
    }
    return count;
}
int main()
{
    char arr[] = "jingying";
    int len = my_strlen(arr);
    printf("len = %d\n", len);
    return 0;
}

4.模拟strlen(法二:递归法)

#include <stdio.h>
#include <string.h>
int my_strlen(char* str)
{
    if (*str != '\0')
        return 1 + my_strlen(str + 1);//指针向右移动1,字节数+1
    else
        return 0;
}
int main()
{
    char arr[] = "jingying";
    int len = my_strlen(arr);
    printf("len = %d\n", len);
    return 0;
}

标签:arr,return,int,作业,len,C语言,include,strlen
From: https://blog.csdn.net/jzh220909/article/details/136951021

相关文章

  • C语言作业(五)
     1.逆序字符串函数//写一个函数,来逆序一个字符串的内容#include<stdio.h>#include<string.h>#include<assert.h>voidreverse(char*str){assert(str);//保证指针的有效性intlen=strlen(str);char*left=str;//left指针指向第一个字符char*......
  • # c语言程序设计——实验报告一
    实验项目名称:实验一熟悉C语言运行环境实验项目类型:验证性实验日期:2023年3月14日一、实验目的下载安装Devc6.0程序。了解在该系统上如何进行编辑、编译、连接和运行一个C程序。通过运行简单的C程序了解C程序的特点。二、实验硬、软件环境Windows计算机、Devc6.0三、......
  • C语言for循环详细讲解
    引言:在上一篇博客中,我们介绍了关于C语言的一种循环,while循环,并介绍了其中的关键字及其例题,在本片帖子,我们将引入一种新的循环方式,名为for循环,那么它与while循环又有哪些相似之处和不同之处呢?让我们一起来探索一下。一.for循环的基本架构for循环时三种循环中使用最多的for循......
  • C语言:洛谷题目分享(4)小书童--凯撒密码和笨小猴
    目录1.前言2.俩道题目1.小书童--凯撒密码1.题目背景2.题目描述3.输入格式4.输出格式5.题解2.笨小猴1.题目描述2.输入格式3.输出格式4.题解3.小结1.前言哈喽大家好啊,今天我继续为大家分享洛谷题单的俩道题目,请大家多多支持喔~2.俩道题目1.小书童--凯撒密码......
  • c语言:日期识别1
    日期识别1任务描述X同学最近非常烦,因为他正面对一大堆日期数据愁眉不展,原因是那些日期书写的极其不规范,不仔细辨别根本认不清是哪一天。以下每个日期中的三个数,年月日的位置是不确定的,假设其中最大的数表示年份,1-12范围的数表示月份,1-31范围的数表示日期,如果月日的范围都......
  • 《数据结构与算法分析》作业一(详解版)
    1.什么是数据结构?有关数据结构的讨论涉及哪三个方面?答:(1)数据结构是指相互之间存在着一种或多种关系的数据元素的集合和该集合中数据元素之间的关系组成.(2)逻辑结构、存储结构以及运算结构。2.什么是算法?算法的特性有哪些?根据这些特性,解释算法与程序的区别?答:(1)算法是一组明......
  • 2024年C语言最新经典面试题汇总(1-10)
    C语言文章更新目录C语言学习资源汇总,史上最全面总结,没有之一C/C++学习资源(百度云盘链接)计算机二级资料(过级专用)C语言学习路线(从入门到实战)编写C语言程序的7个步骤和编程机制C语言基础-第一个C程序C语言基础-简单程序分析VS2019编写简单的C程序示例简单示例,VS2019调......
  • 中国电子学会(CEIT)2021年03月真题C语言软件编程等级考试三级(含详细解析答案)
    中国电子学会(CEIT)考评中心历届真题(含解析答案)C语言软件编程等级考试三级2021年03月编程题五道 总分:100分一、找和为K的两个元素(20分)在一个长度为n(n<1000)的整数序列中,判断是否存在某两个元素之和为k。时间限制:1000ms内存限制:65536kb输入第一行输入......
  • 水仙花数(C语言)
    文章目录水仙花数的起源思路运行代码水仙花数的起源水仙花数的名称来源于希腊神话中的美少年纳西索斯(Narcissus),其名字“Narcissus”与水仙花数的英文名称“Narcissisticnumber”的词根一致。水仙花数是指一个n位数(n≥3),它的每个位上的数字的n次幂之和等于它本身。......
  • C语言进阶——动态内存管理
    目录一、C语言底层内存知识补充二、动态内存函数1.1free1.2malloc1.3calloc1.4realloc三、使用常见错误3.1对非动态开辟内存使用free释放3.2空指针未判断造成的错误3.3使用free释放一块动态开辟内存的一部分3.4对同一块动态内存多次释放3.5动态开辟内存没有释放而......