反序输出数组

  • 实现
#include<iostream>
#include<stdlib.h>
using namespace std;// 反序存放各数组元素
void invert(double *x, int n)
{double t, *i, *j;i = x;j = x + n -1;while(i<j){t = *i;*i = *j;*j = t;i++;j--;}
}int main()
{double a[5] = {1,2,3,4,5.0};// double *p = new double[5];  //动态数组cout <<"原始数组:";for(int i=0; i<5; i++){cout << a[i] << " ";}cout<< endl;invert(a, 15);cout <<"反序后数组:";for(int i=0; i<5; i++){cout << a[i] << " ";}cout<< endl;return 0;
}

字符串排序

  • 实现
#include <iostream>
#include <cstring>using namespace std;void sort(char (*p)[10], int n)
{for(int i=0; i<n-2; i++){for(int j=i+1; j<n; j++){char t[10];if(strcmp(p[i], p[j]) > 0){strcpy(t, p[i]);strcpy(p[i], p[j]);strcpy(p[j], t);}}}
}int main()
{char str[][10] = {"zhang", "wang", "wen", "xu", "li", "zhou"};// char (*s)[10] = new char[n][10];  // 定义动态数组sort(str, 6);for(int i=0; i<6; i++){cout << str[i] << "\t";}return 0;
}

自己实现比较函数与复制函数,集成交换函数以及显示字符串

char *mystrcpy(char *s1, char *s2)  // copy s2 into s1
{while(*s2 != 0){*s1++ = *s2++;}*s1 = '\0';
}int mystrcmp(char *s1, char *s2)
{while(*s1 == *s2 && ! *s1!= 0 && *s2 != 0){s1++;s2++;}return *s1 - *s2;  // 正值,前一个大,负值,后一个大
}void swap(char *p, char *q)
{char t[10];mystrcpy(t, p);mystrcpy(p, q);mystrcpy(q, t);
}void show(char (*s)[10], int n)
{for(int i=0; i<n-1; i++){cout << s[i] << " ";}cout << s[n-1] << endl;
}

二进制ip地址转化为点分十进制形式

  • 实现:

    • 检测字符串中是否有01之外的字符
    • 二进制数 --> 十进制数
#include <iostream>
#include <cstring>using namespace std;// check only contain 0/1 in str
bool check(char *str)
{for(int i=0; i<32; i++){if(str[i] != '1' && str[i] != '2'){return false;}}return true;
}// 32位二进制数转化为十进制数
// 1101B = (((0*2+1)*2+1)*2+0)*2+1 = 13
int trans(char *Str)
{int n=0, i;for(i=0; i<8; i++){if(str[i] =='1'){n = n*2 + 1;}else{n = n*2;}}return n;
}int main()
{char IP[33];cout << "32位二进制IP地址?" << endl;cin >> IP;if(strlen(IP) != 32){cout << "IP 长度应该是32位" << endl;}else{if(!check(IP)){cout << "字符串中有0/1之外的字符,非正确IP地址." << endl;}else{cout << "IP地址对应的点分十进制数写法:" << endl;cout << trans(IP) << "." << trans(IP+8) << "." << trans(IP+16) << "." << trans(IP+24) << endl;}}return 0;
}

计算机程序设计c++ 8-6:数组指针相关应用相关推荐

  1. php 查看数组的指针,php数组指针

    数组指针的操作: 移动数组指针的操作: Next() 向下 同时会获得当前元素的值. Prev() 向上同时会获得当前元素的值. End() 移动到最后一个元素单元 获得最后一个元素的值 Reset( ...

  2. c语言中二维数组中维数的计算,数组指针字符串C语言程序设计-第4章.ppt

    <数组指针字符串C语言程序设计-第4章.ppt>由会员分享,可在线阅读,更多相关<数组指针字符串C语言程序设计-第4章.ppt(132页珍藏版)>请在人人文库网上搜索. 1.程 ...

  3. 排序相关算法在计算机程序设计竞赛中的研究

    目录 0 摘要 1 引言 2 排序算法 2.1 排序算法的分类 2.1.1 稳定排序与不稳定排序 2.1.2 内排序与外排序 2.2 排序算法的性能评价 2.3 内排序和外排序的举例 2.4 内排序的 ...

  4. 关于c语言中二维数组及相关指针的理解

    一,示例 文章的开头让我们来先看关于c语言二维数组及相关指针的几句话. 假设a是一个整型的二维数组名,用<==>代表等价符号. 1,a可以代表这个二维数组的首行首地址,a+i代表序号为i的 ...

  5. C语言程序设计 | 指针的进阶(一):字符指针、数组指针、指针数组、函数指针

    指针的进阶(一)目录: 字符指针 数组指针和指针数组 函数指针 字符指针 在开始讲解这一章节之前,我们需要了解指针前面声明的类型的意义 类型 * 指针名 对于指针来说,我们在给指针进行声明时,我们声明 ...

  6. 计算机专业课程设计报告c语言,计算机程序设计(C语言)课程设计报告.doc

    计算机程序设计(C语言)课程设计报告.doc 计算机程序设计C语言课程设计报告题目电子动画时钟 学院 机电工程学院专业 班级090109班学号 姓名 指导教师 设计日期 一.概述选题背景 随着社会的进 ...

  7. C++程序设计(实践)_老师有话说 S1| 如何学好计算机程序设计(c语言)

    点击上方"USTC stunion"可订阅哦! 在之前"蜗壳里的星空"发布的说说中,众多同学在评论区留下了自己印象深刻的老师,有很多老师获得不少的点赞,可谓是同 ...

  8. 【编程实践】第一章 C++入门 《C++程序设计语言》 / By 禅与计算机程序设计艺术ChatGPT

    目录 <C++程序设计语言> / By 禅与计算机程序设计艺术&ChatGPT 内容简介 第一章 C++入门 1.1 C++的起源和发展 1.1.1 C++的历史和背景 1.1.2 ...

  9. C++面试题-指针-指针数组与数组指针

    C++面试题-指针-指针数组与数组指针 问:int (*p)[n]与int *p[n]的区别? 答: int (*p)[n]是数组指针,指向某n个元素所组成的整块的数组,返回值是整型指针类型的. in ...

最新文章

  1. C语言 数组(做个笔记)
  2. Web service到底是什么?
  3. JavaScript_下_Dom
  4. 漫画 | 人到中年,一地鸡毛
  5. 【Android】Activity的task相关
  6. java程序设置jvm_Java程序员应在2018年学习的3种JVM语言
  7. 用Java编写Hadoop MapReduce任务
  8. python语言发展历时_编程语言十年发展史
  9. Netty工作笔记0004---BIO简介,介绍说明
  10. 关于BPSK、QPSK的一些理解,以及MATLAB实现
  11. 24V电压TVS二极管选型
  12. 关于python的列表以下选项中描述错误的是_关于Python的元组类型,以下选项中描述错误的是 (4.0分)_学小易找答案...
  13. imx8mn同核异构开发cortex-M7
  14. Linux 帮助手册安装
  15. 中断系统应用实例(1)用定时器T1工作方式1控制两个LED以不同周期闪烁
  16. 诚意干货:如何神不知鬼不觉破解你家路由器 | 硬创公开课
  17. java实训感想6000字_JAVA论文6000字:无线校园
  18. js写一个开心消消乐
  19. WAP网站的推广方式(自整合篇)
  20. 洛谷 P4725 【模板】多项式对数函数 ntt

热门文章

  1. App Store 中国区已支持人民币支付
  2. 黑阔的win10--把win10打造成kali(记录帖)
  3. python 高斯函数拟合_在python中拟合任意高斯函数,消耗大量内存
  4. EDA程序设计--万年历设计
  5. 解析模板 [index.html] 时出错,模板可能不存在或可能无法被任何已配置的模板解析器访问
  6. 个人所得税递归函数C语言,C语言实现 计算个人所得税务2种方法
  7. 如何让子对话框和夫对话框窗口相互切换
  8. Axure8.0可用的授权码
  9. 使用VS创建第一个窗体应用程序
  10. java websocket广播_使用 Spring 对 Websocket 进行简单的消息广播和单播