C语言学习Day3 2024.11.19

//关机程序
//1.电脑运行起来后,1分钟内关机
//2.如果输入:123,就取消关机
//

//int main()
//{
//    char input[20] = { 0 };
//    system("shutdown -s -t 60");
//    again:
//    printf("60秒时间内关机,输入:123,则取消关机\n");
//    scanf("%s", input);
//    if(strcmp(input, "123") == 0)
//    {
//        system("shutdown -a");
//    }
//    else
//    {
//        goto again;
//    }
//    return 0;
//}

//函数
//www.cplusplus.com

//int main()
//{
//    char arr1[20] = { 0 };
//    char arr2[] = "hello bit";
//
//    strcpy(arr1, arr2);//字符串拷贝
//    printf("%s", arr1);
//
//    char arr[20] = "hello world";
//    memset(arr+6, 'x', 5);//将字符串的前位数进行替换,字符串后面+-位数改变替换位置
//    printf("%s", arr);
//    return 0;
//}

//函数的定义
//get_max(int x, int y)
//{
//    return (x > y ? x : y);//条件成立输出x,不成立输出y;
//}
//int main()
//{
//    int a = 0;
//    int b = 0;
//    scanf("%d %d", &a, &b);
//    //求较大值
//    //函数的调用
//    int m = get_max(a, b);
//
//    printf("%d\n", m);
//    return 0;
//}

//写一个函数可以交换两个整形变量的内容

//x y形式参数,a b实际参数
//void Swap(int x, int y)//不需要返回用void
//{
//    int z = 0;
//    z = x;
//    x = y;
//    y = z;
//}
//
//void Swap(int *px, int *py)//指针
//{
//    int z = *px;
//    *px = *py;
//    *py = z;
//}
//
//int Add(int x, int y)
//{
//    int z = 0;
//    z = x + y;
//    return z;
//}
////当实参传递给形参的时候,形参是实参的一份临时拷贝,对形参的修改不会影响实参
//int main()
//{
//    int a = 0;
//    int b = 0;
//    scanf("%d%d", &a, &b);
//
//    int c = Add(a, b);
//    //传值调用
//    printf("%d\n", c);
//
//
//    //交换
//    printf("交换前a=%d b=%d\n", a, b);
//    //Swap(a, b);
//    Swap(&a, &b);
//    //传址调用
//    //改变实参的值需要传地址
//
//    printf("交换后a=%d b=%d\n", a, b);
//    return 0;
//}

//真实传给函数的参数,叫实参(常量、变量、表达式、函数等)
//形式参数是指函数名后括号中的变量,因为形式参数只有在函数被调用的过程中才实例化。


//打印100~200之间的素数
//素数是只能被1和它本身整除的数
//7
//1 7
//2 3 4 5 6试除

//是素数返回1
//不是素数返回0

//#include<math.h>
//
//int is_prime(int n)
//{
//        int j = 0;
//        for(j = 2; j <= sqrt(n); j++)//sqrt开平方
//        {
//            if(n % j == 0)
//            {
//                return 0;
//            }
//        }
//        return 1;
//}
//
//int main()
//{
//    int i = 0;
//    int count = 0;
//
//    for(i = 101; i <= 200; i++)
//    {
//        if(is_prime(i))
//        {
//            printf("%d ", i);
//            count++;
//        }
//        //用2~i-1之间的数字去试除1
////        int flag = 1;//表示是素数
////        int j = 0;
////        for(j = 2; j <= sqrt(i); j++)//sqrt开平方
////        {
////            if(i % j == 0)
////            {
////                flag = 0;
////                break;
////            }
////        }
////        if(flag == 1)
////        {
////            count++;
////            printf("%d ", i);
////        }
//
//    }
//    printf("\ncount = %d\n ", count);
//    return 0;
//}

//写一个函数判断是不是闰年
//打印1000-2000年之间的
//闰年的判断
//1.能被4整除,且不能被100整除
//2.能被400整除是闰年

//int main() 
//{
//    int year = 0;
//    for (year = 1000; year <= 2000; year++) 
//    {
//        //判断闰年           并且
//        if(((year % 4 == 0) && (year % 100 != 0) )|| (year % 400 == 0))
//        {
//            printf("%d ", year);
//        }
//        
////        if (year % 4 == 0)
////        {
////        
////            if (year % 100 != 0) 
////            {
////                printf("%d ", year);
////            }
////        } 
////        if (year % 400 == 0)
////        {
////            printf("%d ", year);
////        }
//    }
//
//    return 0;
//}

//&& = 与,|| = 或
//int is_leap_year(int y)
//{
//    if(((y % 4 == 0) && (y % 100 != 0)) || (y % 400 == 0))
//    {
//        return 1;//函数传入1执行
//    }
//    else
//    {
//        return 0;//0不执行
//    }
//}
////高内聚低耦合,确保函数独立模块功能单一
//
//int main()
//{
//    int year = 0;
//    for(year = 1000; year <= 2000; year++)
//    {
//        if(is_leap_year(year))
//        {
//            printf("%d ", year);
//        }
//    }
//    return 0;
//}

//写一个函数,实现一个整形有序数组的二分查找


//binary_search(int arr[], int k, int sz)//形参arr本质是指针变量,为1
////数组传参是首元素的地址,所以不能在函数内部计算一个函数参数部分的元素个数
//{
//    int left = 0;
//    int right = sz - 1;
//    
//    while(left <= right)
//    {
//        int mid = left + (right - left) / 2;
//        
//        if(arr[mid] < k)
//        {
//            left = mid + 1;
//        }
//        else if(arr[mid] > k)
//        {
//            right = mid - 1;
//        }
//        else
//        {
//            return mid;//找到了返回下标
//        }
//    }
//    
//    return -1;//找不到

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值