-
找出不是两个数组共有的元素
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赋值 -
解题报告
题目:选择排序(顺序) 遇到的问题:当数组元素较多时,直接手动排序非常困难,存不存在一种算法能一个不漏地把所有元素排好? 解题思路:从数组的首地址开始直到末地址,逐个选取元素与后面所有元素进行比较,若比后面的元素大则位置互换 算法:双for ,第一个for确定比较位置,第二个for进行逐个比较 核心 -
解题报告--结构-有理数均值
结构 有理数均值 (20分) 本题要求编写程序,计算N个有理数的平均值。 输入格式: 输入第一行给出正整数N(≤100);第二行中按照a1/b1 a2/b2 …的格式给出N个分数形式的有理数,其中分子和分母全是整形范围内的整数;如果是负数,则负号一定出现在最前面。 输出格式: 在一行中按照a/b的格 -
解题报告
统计一行文本的单词个数 题目: 解题思路: 本题思想是非空格字符加空格即算一个单词,所以我么要注意开头空格,连续空格,空格结尾,这几个比较容易统计错误,同时,有标点符号隔开的算一个单词 我的核心代码: 除了第一个字符以外,其他单词计数满足,前面有一个空格,且空格后面不是空格