函数指针作业题目

简介: 函数指针作业题目

题目一


在游戏设计中,经常会根据不同的游戏状态调用不同的函数,我们可以通过函数指针来实现这一功能,下面哪个是:一个参数为int *,返回值为int的函数指针( )


作业内容

A.int (*fun)(int)

B.int (*fun)(int )

C.int fun(int )

D.int (*fun)(int *)


首先看题目 是一个函数指针


然后返回值只int 所以首先排除C D

其次要求它的参数是int* 那么排除A

所以说答案是B


B


题目二


描述


有一个有序数字序列,从小到大排序,将一个新输入的数插入到序列中,保证插入新数后,序列仍然是升序。


输入描述:


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


第二行输入N个升序排列的整数,输入用空格分隔的N个整数。


第三行输入想要进行插入的一个整数。


输出描述:

输出为一行,N+1个有序排列的整数。

示例1

输入:

5

1 6 9 22 30

8

输出:

1 6 8 9 22 30


题目分析 我们这里主要需要利用 有序这个特点 可以从数组后面像前面比较

如果这个数大于我们要插入的数就往后挪动一格

直到遇见第一个小于我们要插入的数的元素 将需要插入的数放进去

如果直到最前面都没有找到小于需要插入的数的数字 那么我们就将插入数放在最前面

代码表示如下


#include<stdio.h>
int main()
{
  // 输入数字
  int k = 0;
  int n = 0;
  int i;
  int arr[55] = { 0 };
  scanf("%d", &n);
  for (i = 0; i < n; i++)
  {
    scanf("%d", &arr[i]);
  }
  scanf("%d", &k);
  // 开始插入k
  for (i = n-1; i >= 0; i--)
  {
    if (arr[i] > k)
    {
      arr[i + 1] = arr[i];
    }
    else
    {
      arr[i + 1] = k;
      break;
    }
  }
  // 特殊情况
  if (i < 0)
  {
    arr[0] = k;
  }
  for (i = 0; i < n + 1; i++)
  {
    printf("%d ", arr[i]);
  }
  return 0;
}
相关文章
|
8月前
|
C语言
C语言:数组和指针笔试题解析(包括一些容易混淆的指针题目)
C语言:数组和指针笔试题解析(包括一些容易混淆的指针题目)
|
8月前
|
存储 C语言 C++
C语言------------指针笔试题目深度剖析
C语言------------指针笔试题目深度剖析
53 1
|
存储 编译器 C语言
数组、指针练习题及解析(含笔试题目讲解)其一(上)
数组、指针练习题及解析(含笔试题目讲解)其一
139 0
|
存储 编译器 C语言
C语言: 数组指针/指针数组等相关的选择题目
C语言: 数组指针/指针数组等相关的选择题目
|
存储
1.C语言题目---指针类(基础)
1.C语言题目---指针类(基础)
76 1
|
5月前
|
存储 编译器 C语言
【C语言】指针练习题目
【C语言】指针练习题目
|
7月前
|
算法
【经典LeetCode算法题目专栏分类】【第7期】快慢指针与链表
【经典LeetCode算法题目专栏分类】【第7期】快慢指针与链表
|
7月前
|
算法 容器
【经典LeetCode算法题目专栏分类】【第1期】左右双指针系列:盛最多水的容器、接雨水、回文子串、三数之和
【经典LeetCode算法题目专栏分类】【第1期】左右双指针系列:盛最多水的容器、接雨水、回文子串、三数之和
|
7月前
|
存储 SQL 算法
LeetCode 题目 117:填充每个节点的下一个右侧节点指针 II
LeetCode 题目 117:填充每个节点的下一个右侧节点指针 II