初学C笔记2022/1/24

这篇博客介绍了C语言的基础知识,包括计算字符串长度的两种方法,递归函数的实现,有序数组的二分查找,判断闰年的算法,以及素数检测。此外,还涉及了参数传递、交换函数、最大值函数、内存填充和简单的猜数字游戏等实例。
摘要由CSDN通过智能技术生成

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#include <string.h>
#include <math.h>        
//.h放的声明 .c放的定义 如果调用自己的函数 #include"add.h"
// 
// 
//求字符串长度

//int my_strlen(char* arr)
//{
//    if (*arr != '\0')
//        return 1 + my_strlen(arr + 1);
//    else
//        return 0;
//
//}
//int my_strlen(char* str)
//{               
//    int count = 0;
//    while (*str != '\0')
//    {
//        count++;
//        str++;
//    }
//    return count;
//}

int main()
{
    char arr[] = "byte";
    int len = my_strlen(arr);
    printf("%d\n", len);
    return 0;
}

//递归
//void print(int x)
//{
//    if (x > 9)
//    {
//        print(x / 10);
//    }
//    printf(" %d", x % 10);
//}
//int main()
//{
//    unsigned int num = 0;
//    scanf("%d", &num);
//    print(num);
//    return 0;
//}


//int main()
//{
//    int arr[] = { 1,2.3,4 };
//    int sz = sizeof(arr) / sizeof(arr[0]);
//    int sz1 = strlen("1,2,3,4");
//    printf("%d\n%d", sz, sz1);
//    return 0;
//}

//int su(int x)
//{
//    return x + 1;
//}
//int main()
//{
//    int num = 0;
//    num = su(num);
//    printf("%d", num);
//    num = su(num);
//    printf("%d", num);
//    return 0;
//}
//
//void su(int* x)
//{
//    (*x)++;
//}
//有序数组的二分查找
 //函数内不能求数组元素个数
//int binary_search(int arr[],int k,int sz)
//{
//    int i = 0;
//    int left = 0;
//    int right = sz - 1;
//    while (left<=right)
//    {
//        i = (left + right) / 2;
//        if (arr[i] > k)
//            right =i-1;
//        else if(arr[i]<k)
//            left =i+1;
//        else
//        return i;
//    }
//        return -1;
//    
//}
//
//int main()
//{
//    int arr[] = { 1,2,3,4,5,6,7,8.9 };
//    int k = 10;
//    int sz = sizeof(arr) / sizeof(arr[0]);
//    int ret = binary_search(arr,k,sz);
//    if (ret==-1)
//        printf("找不到");
//    else
//        printf("下标是%d\n",ret);
//
//    return 0;
//}

//判断闰年
//int is_leap_year(int x)
//{
//    if (x % 4==0 && x % 100 != 0)
//        return 1;
//    else if (x % 400 == 0)
//        return 1;
//    else
//        return 0;
//}
//优化
//int is_leap_year(int x)
//{
//    if (x % 4 == 0 && x % 100 != 0 || x % 400 == 0)
//        return 1;
//    else
//        return 0;
//}

//int main()
//{
//    int i = 0;
//    for (i = 1000; i <= 2000; i++)
//    {
//        switch (is_leap_year(i))
//        {
//        case 1:
//            printf("%d是闰年", i);
//            break;
//        case 0:
//            break;
//        default:
//            break;
//        }
//    }
//    return 0;
//}
//优化
//int main()
//{
//    int i = 0;
//    for (i = 1000; i <= 2000; i++)
//    {
//        if (is_leap_year(i) == 1)
//            printf("%d是闰年", i);
//    }
//    return 0;
//}

//判断素数
//int is_prime(int x)
//{
//    int n = 0;
//    for (n = 2; n < sqrt(x); n++)
//    {
//        if (x % n == 0)
//            return 0;
//    }
//    return 1;
//}
//
//
//int main()
//{
//    int i = 0;
//    for (i = 100; i <= 200; i++)
//    {
//        switch (is_prime(i))
//        {
//        case 1:
//            printf("%d是素数!\n",i);
//            break;
//        case 2:
//            break;
//        default:
//            break;
//
//        }
//
//    }
//    return 0;
//}

//int main()
//{
//    int i = 0;
//    int input = 0;
//    scanf("%d", &input);
//    for (i = 2; i < input; i++)
//    {
//        if (input % i == 0)
//        {
//            printf("%d不是素数", input);
//            break;
//        }
//        
//    }
//    if (i == input)
//        printf("%d是素数", input);
//    
//    return 0;
//}

//实参传给形参的时候实际上形参是实参的一份临时拷贝
形参的改变不会改变实参
//void swap(int* pa, int* pb)
//{
//    int z = 0;
//    z = *pa;
//    *pa = *pb;
//    *pb = z;
//}
//
//int main()
//{
//    int a = 10;
//    int b = 20;
//    swap(&a,&b);
//    printf("a=%db=%d\n",a, b);
//    return 0;
//}
    
//int MAX(int x, int y)
//{
//    return (x > y) ?  x: y;
//}
//int main()
//{
//    int a = 10;
//    int b = 20;
//    int max = MAX(a, b);
//    printf("%d\n", max);
//    return 0;
//}

memset
//int main()
//{
//    char arr1[] = "byte bit";
//    memset(arr1, '+', 4);
//    printf("%s", arr1);
//    return 0;
//}


//c猜数字小游戏
//void meau()
//{
//    printf("*******************************\n");
//    printf("*******************************\n");
//    printf("********1.开始玩****0.退出*****\n");
//    printf("*******************************\n");
//    printf("*******************************\n");
//}
//
//void game()
//{
//    printf("\n\n\n猜数字游戏\n\n \n");
//    int a = 0;
//    a=rand() % 100 + 1;
//    int guess = 0;
//    printf("请猜一个数字:");
//    while (1)
//    {
//        scanf("%d", &guess);
//        if (guess > a)
//            printf("猜小点。再猜一次:\n");
//        else if (guess < a)
//            printf("猜大点,再猜一次:\n");
//        else
//        {
//            printf("\n\n\n\n\n猜对了!你是个天才!\n\n\n\n\n");
//            break;
//        }
//    }
//}
//int main()
//{
//    int input = 0;
//    srand((unsigned)time(NULL));
//    do
//    {
//        meau();
//        printf("你选择");
//        scanf(" %d",&input);
//        switch(input)
//        {
//        case 1:
//            game();
//            break;
//        case 0:
//            printf("现在退出\n");
//            break;
//        default:
//        {
//            printf("\n\n\n\n\n请重新选择\n\n\n\n\n");
//            break;
//        }
//        }
//    } while (input);
//    return 0;
//}

//int main()
//{
//    int arr[] = { 1,2,3,4,5,6,7,8 };
//    int i = 0;
//    int k = 9;
//    int sz = sizeof(arr) / sizeof(arr[0]);
//    for (i = 0; i < sz; i++)
//    {
//        if (arr[i] == k)
//        {
//            printf("get it,sign:%d\n", i);
//            break;
//        }
//    }
//    if(i==sz)
//    printf("no finding\n");
//
//    return 0;
//}

//100-200jian de sushu 


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值