程序常见错误的类型等作业

简介: 程序常见错误的类型等作业

题目一


调整奇数偶数顺序


作业内容


调整数组使奇数全部都位于偶数前面。


题目:


输入一个整数数组,实现一个函数,


来调整该数组中数字的顺序使得数组中所有的奇数位于数组的前半部分,


所有偶数位于数组的后半部分。


题目分析 这里我想到的解法是 创建一个同样的数组 遍历前面一个数组 如果遇到奇数 就把这个数放到前面去 如果是偶数 就把这个数放到后面去


代码如下


int main()
{
  int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };
  int arr2[10] = { 0 };
  int sz = sizeof(arr) / sizeof(arr[0]);
  int* left = arr2;
  int* right = &(arr2[sz - 1]);
  int i = 0;
  for (i = 0; i < 10; i++)
  {
    if (arr[i] % 2 == 1)
    {
      *left = arr[i];
      left++;
    }
    else
    {
      *right = arr[i];
      right--;
    }
  }
  for (i = 0; i < 9; i++)
  {
    printf("%d ", arr2[i]);
  }
  return 0;
}


运行结果如下

bcac9277f66041e1a899bbf608c842b8.png


可以完美运行


但是这里我没有想到的一点是 我们并不知道一个数组里面有多少个元素


所以说 上面那个方法在某些情况下行不通


那么有没有别的方法呢?


答案当然是有的 既然我们知道 前面的一定是奇数 后面的一定是偶数


那么我们可以从前面开始遍历 遍历到偶数的时候停顿一下


从后面开始遍历 遍历到奇数的时候停顿一下 然后两个数字交换位置 之后继续遍历


直到左边的指针位置大于右边的指针


代码表示如下


int main()
{
  int arr[20] = { 1,2,3,11,15,16,13,22,36,4,5,6,7,8,9,10 };
  int sz = sizeof(arr) / sizeof(arr[0]);
  int* left = arr;
  int* right = &(arr[sz - 1]);
  int i = 0;
  while (left < right)
  {
    while ((*left) % 2 == 1)
    {
      left++;
    }
    while ((*right) % 2 == 0)
    {
      right--;
    }
    if (left<right)
    {
      int tmp = *right;
      *right = *left;
      *left = tmp;
    }
  }
  for ( i = 0; i < sz; i++)
  {
    printf("%d ",arr[i]);
  }
  return 0;
}


运行结果如图


7f40800acd754ec783071f4c1cc9ede0.png


题目二


strcpy实现


作业内容


模拟实现库函数strcpy


这个大家可以参考我的这一篇博客


strcpy库函数的初步实现到完美优化


题目三


描述


输入一个整数序列,判断是否是有序序列,有序,指序列中的整数从小到大排序或者从大到小排序(相同元素也视为有序)。


数据范围: 3 \le n \le 50 \3≤n≤50 序列中的值都满足 1 \le val \le 100 \1≤val≤100

输入描述:

第一行输入一个整数N(3≤N≤50)。

第二行输入N个整数,用空格分隔N个整数。

输出描述:

输出为一行,如果序列有序输出sorted,否则输出unsorted。


题目分析: 如果要求我们判断一个数组是否有序 我们只需要判断它是否升序或者降序即可


int main()
{
  int n = 0;
  int flag1 = 1;
  int flag2 = 1;
  scanf("%d", &n);
  int arr[1000] = { 0 };
  int i = 0;
  for (  i = 0; i < n; i++)
  {
    scanf("%d", &arr[i]);
  }
  for ( i = 0; i < n; i++)
  {
    if (arr[i]<arr[i+1])
    {
      flag1 = 0;
    }
  }
  for ( i = 0; i < n-1; i++)
  {
    if (arr[i] > arr[i + 1])
    {
      flag2 = 0;
    }
  }
  if (flag1||flag2)
  {
    printf("sorted");
  }
  else
  {
    printf("unsorted");
  }
  return 0;
}


题目四


描述

输入n个成绩,换行输出n个成绩中最高分数和最低分数的差。

输入描述:

两行,第一行为n,表示n个成绩,不会大于10000。


第二行为n个成绩(整数表示,范围0~100),以空格隔开。

输出描述:

一行,输出n个成绩中最高分数和最低分数的差。


题目分析

这道题目只需要设定一个最大数和一个最小数


然后随着一个个输入数字 我们将它们和最大最小数比较


如果大于最大数 就将它赋值给最大数


如果小于最小数 就将它赋值给最小数


#include <stdio.h>
int main()
{
  int i = 0;
    int n =0;
    scanf("%d",&n);
  int max = 0;
  int min = 100;
  while ((scanf("%d",&i))!=EOF)
  {
    if (max<i)
    {
      max = i;
    }
    if (min>i)
    {
      min = i;
    }
  }
  printf("%d", max - min);
}


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


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


那么大家下期再见咯

相关文章
|
4月前
|
JavaScript 前端开发 Java
|
5月前
|
Java Serverless 应用服务中间件
函数计算操作报错合集之JVM启动时找不到指定的日志目录,该如何解决
Serverless 应用引擎(SAE)是阿里云提供的Serverless PaaS平台,支持Spring Cloud、Dubbo、HSF等主流微服务框架,简化应用的部署、运维和弹性伸缩。在使用SAE过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
|
5月前
|
弹性计算 DataWorks 关系型数据库
DataWorks操作报错合集之DataX在执行过程中接收到了意外的信号15,导致进程被终止,该怎么处理
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
|
6月前
|
监控 Serverless API
函数计算操作报错合集之部署成功后,调用报错,该如何排查
在使用函数计算服务(如阿里云函数计算)时,用户可能会遇到多种错误场景。以下是一些常见的操作报错及其可能的原因和解决方法,包括但不限于:1. 函数部署失败、2. 函数执行超时、3. 资源不足错误、4. 权限与访问错误、5. 依赖问题、6. 网络配置错误、7. 触发器配置错误、8. 日志与监控问题。
|
6月前
|
监控 Serverless Linux
函数计算操作报错合集之安装模块时遇到错误,该如何处理
在使用函数计算服务(如阿里云函数计算)时,用户可能会遇到多种错误场景。以下是一些常见的操作报错及其可能的原因和解决方法,包括但不限于:1. 函数部署失败、2. 函数执行超时、3. 资源不足错误、4. 权限与访问错误、5. 依赖问题、6. 网络配置错误、7. 触发器配置错误、8. 日志与监控问题。
|
6月前
|
监控 前端开发 Java
函数计算操作报错合集之报错CAExited,该如何处理
在使用函数计算服务(如阿里云函数计算)时,用户可能会遇到多种错误场景。以下是一些常见的操作报错及其可能的原因和解决方法,包括但不限于:1. 函数部署失败、2. 函数执行超时、3. 资源不足错误、4. 权限与访问错误、5. 依赖问题、6. 网络配置错误、7. 触发器配置错误、8. 日志与监控问题。
|
7月前
|
缓存 监控 NoSQL
函数计算常见问题之提示文件错误如何解决
函数计算(Function Compute, FC)是阿里云提供的无服务器计算服务,它允许用户在无需管理服务器的情况下运行代码,但在配置和执行过程中可能遇到报错,本合集致力于梳理FC服务中的常见报错和配置问题,并提供解决方案,帮助用户优化函数执行环境。
140 0
函数计算常见问题之提示文件错误如何解决
|
7月前
|
消息中间件 Serverless 对象存储
函数计算常见问题之报403错误如何解决
函数计算(Function Compute, FC)是阿里云提供的无服务器计算服务,它允许用户在无需管理服务器的情况下运行代码,但在配置和执行过程中可能遇到报错,本合集致力于梳理FC服务中的常见报错和配置问题,并提供解决方案,帮助用户优化函数执行环境。
|
7月前
|
SQL 分布式计算 DataWorks
maxcompute函数问题之注册函数后运行结果错误如何解决
MaxCompute函数包括内置函数和自定义函数(UDF),它们用于在MaxCompute平台上执行数据处理和分析任务;本合集将介绍MaxCompute函数的使用方法、函数编写和优化技巧,以及常见的函数错误和解决途径。