• C语言习题~day32


     请问该程序的输出是多少()

    1. #include
    2. int main(){
    3. unsigned char i = 7;
    4. int j = 0;
    5. for(;i > 0;i -= 3){
    6. ++j;
    7. }
    8. printf("%d\n", j);
    9. return 0;
    10. }

    A.2

    B.死循环

    C.173

    D.172

    无符号字符型的取值范围是 0 到 255。

    第一次循环,i 从 7 减 3 变为 4,j 加 1 变为 1;第二次循环,i 变为 1,j 变为 2;第三次循环,i 变为 253(7 减 3 溢出后变为 253),j 加 1 变为 3;第四次循环,i 变为 250,j 加 1 变为 4;第五次循环,i 变为 247,j 加 1 变为 5;……依次类推,直到 i 变为 0 时,循环结束。

    从 7 开始每次减 3,7、4、1、253、250、247……这样一共减了 173 次 3 才到 0,所以最终 j 的值是 173。

    2.给定一个整数数组 nums,将数组中的元素向右轮转 k 个位置,其中 k 是非负数。

    示例 1:

    输入: nums = [1,2,3,4,5,6,7], k = 3
    输出: [5,6,7,1,2,3,4]
    示例 2:
    输入:nums = [-1,-100,3,99], k = 2
    输出:[3,99,-1,-100]
    
    1. /*
    2. 解题思路:使用三次逆转法,让数组旋转k次
    3. 1. 先整体逆转
    4. 2. 逆转子数组[0, k - 1]
    5. 3. 逆转子数组[k, size - 1]
    6. */
    7. void reverse(int* nums, int begin, int end)
    8. {
    9. while(begin < end)
    10. {
    11. int tmp = nums[begin];
    12. nums[begin] = nums[end];
    13. nums[end] = tmp;
    14. ++begin;
    15. --end;
    16. }
    17. }
    18. // 三趟逆置倒的思路
    19. void rotate(int* nums, int numsSize, int k){
    20. if(k > numsSize)
    21. {
    22. k %= numsSize;
    23. }
    24. reverse(nums, 0, numsSize-1);
    25. reverse(nums, 0, k-1);
    26. reverse(nums, k, numsSize-1);
    27. }

    3.数组nums包含从0n的所有整数,但其中缺了一个。请编写代码找出那个缺失的整数。你有办法在O(n)时间内完成吗?

    示例1

    输入:[3,0,1]
    输出:2
    示例 2:
    输入:[9,6,4,2,3,5,7,0,1]

    输出:8

     

    1. int missingNumber(int* nums, int numsSize){
    2. int n =numsSize;
    3. int ret=(n+0)*(n+1)/2;
    4. for(int i =0;i
    5. {
    6. ret-=nums[i];
    7. }
    8. return ret;
    9. }
  • 相关阅读:
    分类算法系列③:模型选择与调优 (Facebook签到位置预测)
    单目标追踪——【相关滤波】框架
    Flutter 笔记 | Flutter 事件与通知
    使用Dockerfile部署springboot项目 (入门级教程 简单易懂)
    Redis设计与实现(五)| Sentinel哨兵
    Android WMS——Dialog和Toast窗口创建(五)
    [YOLOV7] Win10+Anaconda+Pytorch 部署YOLOv7(含踩坑解决方案)
    //归并排序,递归方法
    XXL-Job和Elastic-job的区别
    3、网关和BFF
  • 原文地址:https://blog.csdn.net/2301_78029441/article/details/142279771