指针数组等作业

简介: 指针数组等作业

题目一


关于Debug和Release的区别说法错误的是:( )


作业内容

A.Debug被称为调试版本,程序调试找bug的版本

B.Release被称为发布版本,测试人员测试的就是Release版本

C.Debug版本包含调试信息,不做优化。

D.Release版本也可以调试,只是往往会优化,程序大小和运行速度上效果最优


c语言调试知识


这个题目的正确答案是D 我选择了C

其实这是因为我在调试知识中没有写出release版本没有调试功能 老师上课讲到过 已经补上


题目二


喝汽水问题


作业内容


喝汽水,1瓶汽水1元,2个空瓶可以换一瓶汽水,给20元,可以多少汽水(编程实现)。


思路分析 我做这道题目的时候是一个一个找规律发现的

如果只买一瓶水 那就只能喝一瓶

如果买两瓶水 那就只能喝三瓶

如果买三瓶水 那就只能喝五瓶

我们可以发现买n瓶水 就能喝2n-1瓶水 (第一种解法)

买n瓶水 比买(n-1)瓶水多喝两瓶水 且如果只有一瓶水 那就只能喝一瓶(第二种解法)


第一种


  if(money <= 0)
  {
    total = 0;
  }
  else
  {
    total = money*2-1;
  }
  printf("total = %d\n", total);


第二种


int count_(int x)
{
  if (x==1)
  {
    return 1;
  }
  else
  {
    return 2 + count_(x - 1);
  }
}
int main()
{
  int sum = count_(20);
  printf("%d\n", sum);
}


当然 除此之外我们还有第三种解法


82cce1bed8f14c5f9918e8d35f7ff9cf.png


代码如下


int main()
{
  int empty = 0;
  int sum = 0;
  int money = 0;
  scanf("%d", &money);
  empty = money;
  sum = money;
  while (empty>1)
  {
    sum += empty / 2;
    empty = empty / 2 + empty % 2;
  }
  printf("%d\n", sum);
  return 0;
}


ee49254c35594187a4339197e954df77.png


结果如上


题目三


描述

变种水仙花数 - Lily Number:把任意的数字,从中间拆分成两个数字,比如1461 可以拆分成(1和461),(14和61),(146和1),如果所有拆分后的乘积之和等于自身,则是一个Lily Number。


例如:


655 = 6 * 55 + 65 * 5


1461 = 1461 + 1461 + 146*1


求出 5位数中的所有 Lily Number。


输入描述:

输出描述:

一行,5位数中的所有 Lily Number,每两个数之间间隔一个空格。


bab2ab05397f4e79bfc05cd2831d65bc.png

#include<stdio.h>
int main()
{
    // 遍历用
    int i =0;
    // 计算两位数用
    int mod =10000;
    // 计算和用
    int sum =0;
    int ret =0;
    for(i=10000;i<=99999;i++)
    {
        int sum =0;
        int mod =10000;
        while(mod)
        {
            ret =(i%mod)*(i/mod);
            sum+=ret;
            mod/=10;
        }
        if (i==sum)
            printf("%d ",i);
    }
    return 0;
}


代码表示如下


这里主要需要注意的就是sum要及时重置


以上就是本篇博客的全部内容啦 由于博主才疏学浅 所以难免会出现纰漏 希望大佬们看到错误之后能够


不吝赐教 在评论区或者私信指正 博主一定及时修正


那么大家下期再见咯

相关文章
|
1月前
使用指针访问数组元素
【10月更文挑战第30天】使用指针访问数组元素。
34 3
|
17天前
|
存储 C语言 计算机视觉
在C语言中指针数组和数组指针在动态内存分配中的应用
在C语言中,指针数组和数组指针均可用于动态内存分配。指针数组是数组的每个元素都是指针,可用于指向多个动态分配的内存块;数组指针则指向一个数组,可动态分配和管理大型数据结构。两者结合使用,灵活高效地管理内存。
|
17天前
|
容器
在使用指针数组进行动态内存分配时,如何避免内存泄漏
在使用指针数组进行动态内存分配时,避免内存泄漏的关键在于确保每个分配的内存块都能被正确释放。具体做法包括:1. 分配后立即检查是否成功;2. 使用完成后及时释放内存;3. 避免重复释放同一内存地址;4. 尽量使用智能指针或容器类管理内存。
|
21天前
|
存储 人工智能 算法
数据结构实验之C 语言的函数数组指针结构体知识
本实验旨在复习C语言中的函数、数组、指针、结构体与共用体等核心概念,并通过具体编程任务加深理解。任务包括输出100以内所有素数、逆序排列一维数组、查找二维数组中的鞍点、利用指针输出二维数组元素,以及使用结构体和共用体处理教师与学生信息。每个任务不仅强化了基本语法的应用,还涉及到了算法逻辑的设计与优化。实验结果显示,学生能够有效掌握并运用这些知识完成指定任务。
43 4
|
1月前
使用指针访问数组元素
【10月更文挑战第31天】使用指针访问数组元素。
38 2
|
1月前
|
算法 索引
单链表题+数组题(快慢指针和左右指针)
单链表题+数组题(快慢指针和左右指针)
37 1
|
2月前
|
存储
如何使用指针数组来实现动态二维数组
指针数组可以用来实现动态二维数组。首先,定义一个指向指针的指针变量,并使用 `malloc` 为它分配内存,然后为每个子数组分配内存。通过这种方式,可以灵活地创建和管理不同大小的二维数组。
|
2月前
|
存储
如何通过指针数组来实现二维数组?
介绍了二维数组和指针数组的概念及其区别,详细讲解了如何使用指针数组模拟二维数组,包括定义与分配内存、访问和赋值元素、以及正确释放内存的步骤,适用于需要动态处理二维数据的场景。
|
2月前
|
存储 算法 C语言
C语言:什么是指针数组,它有什么用
指针数组是C语言中一种特殊的数据结构,每个元素都是一个指针。它用于存储多个内存地址,方便对多个变量或数组进行操作,常用于字符串处理、动态内存分配等场景。
|
2月前
魔法指针 之 二级指针 指针数组
魔法指针 之 二级指针 指针数组
20 1