c#基础任务70-99

任务70

1

老师的思路是用count找他有几个因数,只有1和它本身两个的正整数就是质数,简单明了

我本身的思路是把1和它本身去掉 看这中间有没有因数 主要问题是输出语句位置问题 放在循环里每循环一次都输出一次 放最外面的话没办法从循环里把是不是这个信息传出来 我就加了一个bool

2

我先想到的是参考冒泡排序那种

结果是倒三角 然后内循环条件改一下

3

我的思路是星号输出的时机都是行号和列号相等的时候 在原来输出三角的情况下做一个判断即可

4

思路就是每一行先输出空格然后接着输出星号,空格是递减的

星号按照奇数数列输出

5

这种只看上半部分的叫4阶菱形,处理思路是分治原则 上半部分按照4阶等腰三角形来算

下半部按照减一的倒着的等腰三角形来处理

6

格式化输出

输出99乘法表时能否对齐?

任务75

1

暴力破解法

经典题目

在编程实现上,一般来说暴力枚举需要两个条件,一是枚举的范围一般需要连续,如果枚举范围是离散的,那么一般很难使用for循环枚举出所有状态,也就不能保证解的完整性(不过有些时候数据看似离散,但实际上可以经过处理变得连续,如构造数组)。第二个条件是枚举内容需要已知,不能在枚举到某个地方的时候出现未知(不过这个一般都被满足)。

2

分治原则,当一个问题可以分几步或者分几部分并行就考虑分治

这个题 首先想到的是 先判断这俩个大小 然后循环里用的限制条件是小的那个 if里面是同时满足两个数的

任务77

1

关于随机数

把从键盘输入的逻辑放到循环里面 这样能保证每次都会跳出出入选项

从这个题看出 某些变量确实不能放到全局里面

任务82

十进制转二进制除法原理思考

任务85

这种赋值方式必须放在同一行

任务88

字符串大写变小写

1ToLower 字符串大写变小写

2ToUpper 字符串小写变大写

3Trim 是去掉字符串全部空格

4TrimStart 是去掉前面的 同理TrimEnd是去掉后面的

5Split是拆分

2

我的思路想到了除3以后会有余数的问题 但是循环的设置条件不对

老师是两个变量 瓶子数  喝掉的数 瓶子熟循环结束的条件 喝掉的是累计最后求结果用的

 拿到想清楚需要几个变量 然后找到循环结束的条件

3.

4

这个题冒泡排序很熟悉 不熟悉的点在于一开始处理字符串的输入,

String str;先声明一个字符串变量 然后直接console输入

调用split 分割字符串变量str 到一个string 数组当中

然后在创建一个同样长度的整形数组

然后循环将字符串转化成数字 剩下的冒泡排序就ok了

任务92插入

1

这题卡到这里是因为我知道c#不支持动态数组,后面会用到arraylist类来处理

我把该插入的点后面往后移 但是会出现length+1这种情况,超出数组范围了

然后看老师视频发现他处理的是一开始只遍历到length-1这种情况

 

然后我又犯了一个错误

我把从插入点往后移的时候必需是从过后往前遍历 否则就覆盖掉了

改完上一个任务之后我发现最后一位没了

然后我想着最后一位在后移没开始前先保留了一个变量中,最后输出b的时候在加上

最后成功输出

老师思路:

老师思路:他考虑到输入的数字可能比给的有序数组还要大的情况

这种就要判断一下 如果大于数列中所有的数 他自然就是插入到最后就行了

第二个c#不支持动态数组 他是有建了一个比原来多一个的数组存放的

其余基本上都一样

任务96

1

利用系统给的array.sort来排序 参数是要排序的数组名

2

首先思路是这个字符串每一位都要满足 是字母数字下划线 这是大的判断范围

然后在这个范围下 保证第一位不是数字 这是又去掉了一部分 是小范围

关键的来了

为什么第二个if只判断了a[0]呢 因为是第一个if同过一个bool变量把范围先框住了

一开始bool设置的是true 经过第一轮审判活下来了 是字母数字下划线

第二轮审判看代码似乎只审判了a[0],没有去管后面,但其实是因为第一轮被杀死第二轮是没有办法活过来的 因为第二轮语句只有isright=false

 

所有标志位在某些时候可以很大程度简化问题

3

我的做法里首先是没有判断count的大小 其次是在末尾的特殊情况

老师做法

4

暴力枚举

思路是嵌套循环,外面遍历整个字符串,内循环让他和他后面的字母作比较

但是这样会出现bug 当输入levvel时第四个v后面没用和他一样的

但是前面有,所以老师又修改了思路 内循环全部遍历 但也包括了他自己 所以计数器的限定是2 有一次是自己 再出一次就是重复的

这种方法要循环400次

我的想法是遍历数组然后把每个元素放到另一个数组中,放之前遍历一下容器看里面有没有和当前要放的字母相同的,相同就不放并且把容器内的设置成0,最后把容器去零输出就完了,第一个就是结果,这样还能得到所有的不重复的

老师给的第二个方法是 建一个26的数组去存储出现的次数

利用a[i]-a 得到一个数组的索引

任务99

#我的实习求职记录#
全部评论

相关推荐

国企 GIS开发岗 总包15w
点赞 评论 收藏
转发
点赞 收藏 评论
分享
牛客网
牛客企业服务