博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
数组相关题目
阅读量:4183 次
发布时间:2019-05-26

本文共 1349 字,大约阅读时间需要 4 分钟。

1.二维数组中的查找

在一个数组中,每一行都按照从左至右递增、从上到下递增的顺序排列,请完成一个函数,输入这样一个二维数组和整数,判断这个整数是否在数组中。

//二维数组实际上是连续存放的bool Find(const int *a, int x, int y, int &key){    assert(a);    while (x < M&&x >= 0 && y < N&&y >= 0)    {        int num = a[x*M + y];        if (key>num)//如果查找的数字大于某一行最后一个数字,则x++;          {            x++;        }        else if (key

2.求数组所有元素的和

(1)非递归

int main(){    int sum = 0;    int arr[5] = {
1,2,4,5,6}; int len = sizeof(arr) / sizeof(arr[0]); for (int i = 0; i < len; i++) { sum += arr[i]; } printf("sum = %d\n",sum); return 0;}

(2)递归

int Get_Sum(int *arr,int len){    return len == 0 ? 0 : Get_Sum(arr, len - 1) + arr[len - 1];}int main(){    int arr[5] = {1,2,4,5,6};    int len = sizeof(arr) / sizeof(arr[0]);    printf("sum= %d\n",Get_Sum(arr, len));    return 0;}

3.写一个函数,将一维数组中的元素逆序存放

void reverseChar(char strs[]){    //strlen()方法在string.h的头文件中,所以这里要include 
size_t count = strlen(strs); //定义一个指针指向strs的内存地址 char *p = strs; char tmp; for (int i = 0; i < count / 2; i++) { tmp = *(p + i); *(p + i) = *(p + count - 1 - i); *(p + count - 1 - i) = tmp; }}int main(){ //C语言是没有String类型的 它用char的数组来表示字符串 char strs[] = "ios_php_java"; printf("倒序前的字符串为:%s\n", strs); reverseChar(strs); printf("倒序后的字符串为:%s\n", strs); return 0;}

转载地址:http://htuoi.baihongyu.com/

你可能感兴趣的文章
Linux平台下ARM-Linux交叉编译工具链
查看>>
Window平台下ADS自带ARMCC编译工具链
查看>>
micro2440/tiny6410使用JLINK直接烧录nand flash
查看>>
C编译器、连接器与可执行机器码文件
查看>>
android linker 浅析
查看>>
802.11 traffic id
查看>>
Android系统wifi分析-手动连接过程
查看>>
设置IP别名Shell脚本
查看>>
Source Insight 宏-单行注释
查看>>
levelDB源码分析-Arena
查看>>
levelDB源码分析-SSTable
查看>>
平滑升级Nginx的Shell脚本
查看>>
SSH远程会话管理工具
查看>>
canvas标签设长宽是在css中还是在标签中
查看>>
如何创建一个vue项目
查看>>
webpack和webpack-simple中如何引入css文件
查看>>
vue1.0和vue2.0的区别之路由
查看>>
关于vue-router2.0的学习笔记
查看>>
vue1.0与2.0区别之生命周期
查看>>
vue2.0之非父子组件通信
查看>>