实验一:第11次实验作业报告

题目:方阵循环右移

实验要求:将给定n×n方阵中的每个元素循环向右移m个位置,即将第0、1、⋯、n−1列变换为第n−m、n−m+1、⋯、n−1、0、1、⋯、n−m−1列。

实验代码:

设计思路:

(1):定义一个新的数组来存放右移后的数列。

(2):本题关键在于如何让末尾的列移动到前面,单纯的b[i]=a[i+m]是无法达到预期效果的。

(3):想把后面的列移动到前面,容易想到能够利用除余或达到n之后用减法来达到指定效果,而如果用减法会使程序显繁琐,故采用除余算法。

本题调试过程碰到问题及解决办法:

•一开始定义数组时没有注意长度,导致过小,从而造成错误。

实验二:第十二次实验

题目:字符串字母大小写转换

实验要求:对一个以“#”结束的字符串,将其小写字母全部转换成大写字母,把大写字母全部转换成小写字母,其他字符不变输出。

实验代码:

设计思路:

(1)定义一个字符数组,读入键盘输入的字符串。

(2)查找字符数组中的小写字母和大写字母。

(3)查找编码,小写字母转换成大写需减32,大写字母转换成小写字母需加32.

本题调试过程碰到问题及解决办法:

一开始写的读入数组有问题,提示段错误,请教同学,换成gets()读入,问题得以解决。

实验三:第十三次实验

题目:判断回文字符串

实验要求:本题要求编写函数,判断给定的一串字符是否为“回文”。所谓“回文”是指顺读和倒读都一样的字符串。如“XYZYX”和“xyzzyx”都是回文。

实验代码:

设计思路:

(1):定义数组读入字符。

(2):while循环,直到数组长度的一半,若其中存在*s!=*p,则返回false,即可达到实验要求。

本题调试过程碰到问题及解决办法:

一开始没有写如果到数组长度一半,若存在*s!=*p,则程序即可结束,反而从头到尾查找数组,代码不简洁。

实验四:第十四次实验

题目:指定位置输出字符串

实验要求:对给定的一个字符串和两个字符,打印出给定字符串中从与第一个字符匹配的位置开始到与第二个字符匹配的位置之间的所有字符。

实验代码:

设计思路:

( 1 )分别定义两个while循环,分别查找两个指定字符。

(2)输出两个指定字符之间的字符,并按要求输出第2个指定字符的地址。

本题调试过程碰到问题及解决办法:

处理地址输出时出现很大问题,做不出来,后来再看了几遍书,理解地址概念,问题得以解决。

实验五:第十五次实验

题目:针对输入的N个字符串,输出其中最长的字符串。

实验要求:输入第一行给出正整数N;随后N行,每行给出一个长度小于80的非空字符串,其中不会出现换行符,空格,制表符。

实验代码:

设计思路:

(1)读入n个字符串

(2)采用strlen函数获得每个字符串的长度

(3)进行比较并获得最长的字符串并输出

本题调试过程碰到问题及解决办法:

一开始没有采用strlen函数,导致函数冗长,查阅课本,使得函数程序简洁

C语言实验报告二的更多相关文章

  1. 20145221 《Java程序设计》实验报告二:Java面向对象程序设计

    20145221 <Java程序设计>实验报告二:Java面向对象程序设计 实验要求 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O. ...

  2. Java实验报告二:Java面向对象程序设计

    Java实验报告二:Java面向对象程序设计                                                                               ...

  3. 20145203盖泽双:Java实验报告二

    Java实验报告二:Java面向对象程序设计 实验要求: 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O.L.I.D原则 了解设计模式 实验内容 ...

  4. 第四周总结&实验报告二

    第四周总结&实验报告二 课程总结 这周我们学习了string类,以及很多string类的很多操作方法,同时string也是一个对象,在用到它时我们首字母需要大写,这周我们还加深了对函数构造的理 ...

  5. 20145118 《Java程序设计》 实验报告二

    实验二 Java面向对象程序设计 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O.L.I.D原则 了解设计模式 实验要求 1.没有Lin ...

  6. java实验报告二

    一.实验内容 1. 初步掌握单元测试和TDD 2. 理解并掌握面向对象三要素:封装.继承.多态 3. 初步掌握UML建模 4. 熟悉S.O.L.I.D原则 5. 了解设计模式 二.实验步骤 (一)单元 ...

  7. 20135337朱荟潼Java实验报告二

    20135337朱荟潼 实验二 Java面向对象程序设计 一.实验内容 1. 初步掌握单元测试和TDD 2. 理解并掌握面向对象三要素:封装.继承.多态 3. 初步掌握UML建模 4. 熟悉S.O.L ...

  8. Python程序设计实验报告二:顺序结构程序设计(验证性实验)

      安徽工程大学 Python程序设计 实验报告 班级   物流191   姓名  崔攀  学号3190505136 成绩 日期     2020.3.22     指导老师       修宇 [实验 ...

  9. wyx20162314实验报告二

    北京电子科技学院BESTI实验报告 课程:程序设计与数据结构 班级: 1623 姓名: 王译潇 学号:20162310 指导教师:娄佳鹏老师.王志强老师 实验日期:2017年3月26号 实验密级: 非 ...

随机推荐

  1. 判断是否是同一人的方法——equals()?在Person类中提供一个比较的方法compare()返回boolean值?对象自己和自己比?

    判断是否是同一人的方法——equals() 不能直接用per1==per2,这不是对象内容的比较而是存放对象地址的值得比较 在Person类中提供一个比较的方法compare()返回boolean值 ...

  2. JDBC操作数据库的详细步骤

    1.注册驱动 告知JVM使用的是哪一个数据库的驱动 2.创建连接 使用JDBC中的类,完成对MySQL数据库的连接 3. 得到执行sql语句的Statement对象 通过连接对象获取对SQL语句的执行 ...

  3. C#基础-数组-冒泡排序

    冒泡排序基础 冒泡排序原理图分析 tmp在算法中起到数据交换的作用 int[] intNums = { 12,6,9,3,8,7 }; int tmp = intNums[0]; // 一共5次冒泡, ...

  4. quartz 任务调度

    quartz 设置参数, 获取参数 在job中使用spring注入的service对象 循环获取所有的job 删除job @PersistJobDataAfterExecution @Disallow ...

  5. 命令行下创建MySQL数据库与创建用户以及授权

    先以root用户登录mysql: C:\Users\XXX>mysql -u root -p 输入密码后登录,接下来操作如下: 1.创建数据库 语法:create schema [数据库名称] ...

  6. redis列表,字典,管道,vue安装,创建项目

    redis mysql,redis,mogondb 1.mysql,oracle:关系型数据库,有表概念 2.redis,mongodb/nosql:非关系型数据库 没有表概念 mongodb存储在硬 ...

  7. Django之URL

    URL是用户请求路径与views视图处理函数的一个映射 简单的路由配置及实现 这里是pycharm编辑开发为例,新建的django项目,会在url.py下自动生成这样一段代码: from django ...

  8. LeetCode(164)Maximum Gap

    题目 Given an unsorted array, find the maximum difference between the successive elements in its sorte ...

  9. nmap命令扫描存活主机

    1.ping扫描:扫描192.168.0.0/24网段上有哪些主机是存活的:   [root@laolinux ~]# nmap -sP 192.168.0.0/24 Starting Nmap 4. ...

  10. jenkins匿名用户登录 - 安全设置

    最近自己安装配置jenkins,但是跑任务时,发现是匿名账户登录,且提示: 后来发现搭建好jenkins之后,默认就是匿名用户登录的,可以在安装设置菜单里进行账户管理. 1.登录Jenkins服务器, ...