-
找最长的字符串解题报告
思路与算法: .定义一个二维数组来保存字符串,定义一个一维数组来保存最长的字符串。 .最长的字符串用找下标的方式来做到保存效果。 .输出字符串。 流程图: 遇到的问题及解决方法: .如何做到保存字符串的同时比较大小。 用嵌套循环来解决。 .如何比较大小。 保存下标。 核心代码: -
解题报告——号码加密
解题思路 输入号码后,需要用一个选择函数来去除号码中的重复数字。然后通过排序方法将选出的非重复数字进行排序记为arr,这里建议使用函数表达方法来表示。 选择并排好序之后进行号码的加密。输入号码时最好运用gets函数,gets函数可以将键盘输入的字符一个一个单个上传到数组中。运用两个循环的嵌套 先用外 -
解题报告-插入排序
关于插入排序 和选择排序和冒牌排序比较,我感觉插入排序比较难理解,于是选择讲解插入排序 插入排序的使用即从第2个数开始插入前面1个数,第三个数插入前面两个数,一直到第n个数,以下面该题为例子 该题使用插入排序对n个数进行排序,画出该函数部分的流程图 此题目的难点就是关于插入排序应该从那个数开始并且要 -
找出不是两个数组共有的元素
1)题目要求同一数字不重复输出。所以必须将不同的数字存在另一个数组中,再将这个数组重新判断是否出现相同数字,最后输出; 2)for (i = 1; i < k; i++) { for (j = 0; j < i; j++) { if (c[i] == c[j])break;//判断是否重复; } i -
冒泡排序报告
遇到问题:有时不清楚其原理。 解决方法:多用几次就会了。 核心代码: for(int i=0;i<n 1;i++){ for(int j=0;j<n 1 i;j++){ } } -
解题报告
解题思路:从前往后遍历,逐个相加,并和最大和作比较,比前一次最大和大时,就将最大和换为当前值。当相加的和小于零时,就重新相加,因为小于零加后面的数,一定会将其减小。 做题时的问题:如果用其他算法,就是容易超时。这个算法较为巧妙,不易想出。 -
解题报告
题目:字符串排序 解题思路 这道题是排序题,因此可以用我们之前学过的排序算法来解决,如冒泡排序、选择排序等,我选用的是选择排序。值得注意的是,这道题不是单纯的数字排序,也不是字符排序,而是字符串排序,因此我们可能需要用到指针。所以我的思路是创建一个二维数组,用来存放字符串,再创建一个一维数组,来充当 -
解题报告
输出两个数组不共有的元素 题目 解题思路 通过嵌套循环来遍历数组逐个比较。 流程图 部分解题代码 遇到的问题 解题时按照惯性思维直接找两数组不同的元素直接输出。 发现这样完全不行,因为这不是查找已知值,而数组的值在你未输入之前是未知的,这种比较方式行不通。 解决办法 -
解题报告
一.题目 二.解题思路 首先用while循环,求出str数组的长度(不包含'\0'),再用for循环,进行遍历查找,对其中的字符进行筛选,最后得到删除后的新数组。 流程图: 三.问题:最开始跳出for的条件是 j<i;结果一直出错,只能对个别测试点。 正确的结束条件是 j<i+1; 因为数组的长度要 -
解题报告——字符串/冒泡排序 英文单词排序
解题思路:对于输入的若干个英文单词,通过冒泡排序进行比较,最终将英文单词从小到大输出。 输入: (1)英文单词总数不超过20个,英文单词为长度小于10的字符串通过二维数组来实现输入。 (2)先通过一维数组str来输入字符串,同时判断是否为' ',是则跳出循环,若不是则调用strcpy函数将str赋值