-
解题报告.找最小字符串
作者: 张泳 单位: 浙江大学城市学院 时间限制: 400 ms 内存限制: 64 MB 代码长度限制: 16 KB 1.本题要求编写程序,针对输入的N个字符串,输出其中最小的字符串。 输入格式: 输入第一行给出正整数N;随后N行,每行给出一个长度小于80的非空字符串,其中不会出现换行符,空格,制表 -
第一篇解题报告
题目(计算矩阵两个对角线之和): 解题思路: 首先,题目要求输入一个4×4的矩阵,所以需要定义一个二维数组以及行、列变量,使用for循环依次输入; 其次,题目要求计算两对角线之和,所以需要找出两对角线上的所有元素,其中两对角线相交点需相加两次,此时需要使用for循环与if else结构进行循环判断。 -
解题报告---数组循环左移
题目 核心代码 流程图 解题过程遇到的困难及办法 1.要求结尾没有多余空格,如果直接从头到尾输出整个数组的话,结尾会有多余空格。所以需要先输出数中的第一个数然后再利用循环输出剩余的。 2.题目要求不能多开数组,所以不能再建一个数组来存放需要移动的数,这时就需要通过外循环和内循环和一个中间暂时存放的n -
解题报告:找鞍点
解题报告:找鞍点 1.题目: 2.算法流程图: 3.核心代码: 4.思路: 鞍点就是在其行是最大值、其列是最小值的点。根据定义,不难想到只要找出每行的最大值,再判断该数在其列中是不是最小值,是则是鞍点,否则不是。 5.总结: 该题只要找到正确的解题思路就不难解决。我们在拿到一道题目的时候第一步就是要 -
方阵循环右移解题报告
题目: 解题思路: 由题目先定义一个二维数组,m=m%n,先进行一个大循环,然后进入一个小循环,从n m开始,条件是小于n的循环中,然后结束之后再进入另外一个小循环中,条件是小于n m。 核心代码: 流程图: 出现的难题: 1.容易忽略m=m%n这个步骤,造成程序步骤重复进行,效率不高。 2.对于两 -
找出不是两个数组共有的元素
题目: 核心代码: for (i = 0; i < na; i++) { for (j = 0; j < nb; j++) { if (a[i] == b[j]) { break; } } if (j == nb) { c[k] = a[i]; k++; } } for (i = 0; i < nb -
装箱问题的编程解题报告
装箱问题 假设有N项物品,大小分别为s1,s2,…si…sN,其中si为满足1≤si≤100的整数。要把这些物品装入到容量为100的一批箱子(序号1 N)中。装箱方法是:对每项物品, 顺序扫描箱子,把该物品放入足以能够容下它的第一个箱子中。请写一个程序模拟这种装箱过程,并输出每个物品所在的箱子序号, -
二分查找
核心代码 流程图 问题:循环条件不能错,while循环判断条件为high =low并且每次要么low=mid+1要么high=mid 1 -
阶乘计算升级版
题目:阶乘计算升级版 解题算法 创建数组,将阶乘写进数组 如果N等于0或1,阶乘为1 进入循环i=2,将i加到N为止 n等于数组上一位除10取整 m等于数组的当前位的数值乘i加n 将数组当前位变为m%10 当数组循环结束时 通过n是否等于0判断阶乘是否要进位 如果n不为0 则要将n的每一位分别按倒序 -
选择排序
流程图 核心代码