2023-1-16学习记录

 #include<stdio.h>
//变种二 
//int main()
//{
//    int x,y;
//    for(x=0,y=0;x<2&&y<5;++x,y++)
//    {
//        printf("hehe\n");
//    }
//    return 0;
//}
//int main()
//{
//    int i=0;
//    int k=0;
//        for(i=0,k=0;k=0;i++,k++)//这里的判断语句变成了赋值
//        //k=0为假,所以 
//        k++;
//    return 0;
//}
//这个代码循环零次 
//do while循环
//do
//    循环语句;
//while(表达式)
//因此循环语句至少执行一次
//int main()
//{
//    int i=1;
//    do
//    {
//        printf("%d ",i);
//        i++;
//    }
//    while(i<=10);
//    return 0;
// } 
//int main()
//{
//    int i=1;
//    do
//    {
//        if(i==5)
//            //break;
//            continue;
//        printf("%d ",i);
//        i++;
//    }
//    while(i<=10);
//    return 0;
//}
//do while里面也有break和continue 
//计算n的阶乘 
//int main()
//{
//    int n;
//    scanf("%d",&n);
//    int i=1;
//    int m=1;
//    for(i=1;i<=n;i++)
//    {
//        m=i*m;
//    }
//    printf("%d",m);
//    return 0;
//}
//int main()
//{
//    int i=1;
//    int n=0;
//    int ret=1;
//    scanf("%d",&n);
//    for(i=1;i<=n;i++)
//    {
//        ret=ret*i;    
//    }
//    printf("%d",ret);
//    return 0;
//}
//int main()
//{
//    int i=1;
//    int n=0;
//    int ret=1;
//    int sum=0;
//    for(n=1;n<=3;n++)
//    {
//        ret=1;
//        //在每次进入循环的时候需要重新赋值
//        //不重新赋值就会导致不是1*1*2*3而是n*1*2*3 
//        for(i=1;i<=n;i++)
//        {
//            ret=ret*i;    
//        }
//        sum=sum+ret;
//    }
//    printf("%d",sum);
//    return 0;
//}
//上面代码的优化 
//int main()
//{
//    int i=0;
//    int n=0;
//    int ret=1;
//    int sum=0;
//    for(n=1;n<=3;n++)
//    {
//        ret=ret*n;
//        sum=sum+ret;
//    }
//    printf("%d\n",sum);
//    return 0;
// } 
//在一个有序数组中查找具体的某个数字n
//int main()
//{
//    int arr[]={1,2,3,4,5,6,7,8,9,10};
//    int k=7;
//    //写一个代码,在arr[]数组中找到7
//    int i=0;
//    int sz=sizeof(arr)/sizeof(arr[0]);
//    for(i=0;i<sz;i++)
//    {
//        if(k==arr[i])
//        {
//            printf("找到啦,下标是%d",i);
//            break;
//        }
//     } 
//     if(i==sz)
//     {
//         printf("找不到"); 
//     }
//    return 0;
// } 
//这种方法效率很低,而且这是有序数组
//可以使用折半查找(二分查找算法)
//这样的遍历次数为log2n(log以2为底n的对数) 
//int main()
//{
//    int arr[]={1,2,3,4,5,6,7,8,9,10};
//    int k=7;
//    int sz=sizeof(arr)/sizeof(arr[0]);//计算元素个数 
//    int left=0;//左下表
//    int right=sz-1;//最右面的元素下标等于元素个数减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",mid); 
//            break;
//        }
//    }
//    if(left>right)
//    {
//        printf("找不到"); 
//    }
//    return 0;
//}
//首先注意while的判断条件
//通过调整下标来查找元素 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值