c#刷题日记之基础任务41-69易错点汇总

任务41

这个解法是老师的解法,一开始就把max=a,这样相比我下面的解法就简单许多

转字符,并且字符之间可以直接比较

个人解法

namespace ConsoleApp1

{

    internal class Program

    {

        static void Main(string[] args)

        {

            char sex = Convert.ToChar(Console.ReadLine());

            if (sex == 'M')

            {

                int number=Convert.ToInt32(Console.ReadLine());

                if (number % 2 == 0)

                {

                    Console.WriteLine("1000m 俯卧撑");

                }

                else

                {

                    Console.WriteLine("1000m 跳远");

                }

 

            }

            if (sex == 'F')

            {

                int number = Convert.ToInt32(Console.ReadLine());

                if (number % 2 == 0)

                {

                    Console.WriteLine("1000m 仰卧起坐");

                }

                else

                {

                    Console.WriteLine("1000m 跳绳");

                }

            }

        }

    }

}

老师解法:

正确答案选b

易错点:第四行的if判断为否不执行后面的console 但是x--会执行也就是x由5变成4

任务41

正确答案:A

易错点:if里面的格式错了,直接编译不了,所以不是if条件未通过然后执行else里面的而选了d

2

小数转整数直接强转

保留一位小数 就是下面的过程:输入的小数+0.05这一步就能完成四舍五入,但是后面带着小数,我们要保留1位,所以先*10然后利用/法

3

4

任务47 switch分支语句

可以合并

2

C#和c语言要求不一样,关于break

任务52

2

错误点

ave = sum/sn中的sn在经历循环以后变成0了

改正做法

我将最开始的sn保留给了ln,最后算平均数除的是ln

老师做法 循环体里面并没有用到i

3

这里用字符串存

任务63

1

易错点:计算小球的总路径记得小球除了初次下落一次,其余都是两次上下来回

2

易错点:result别设置0

3

易错点:我的想法是外循环处理每一步由内循环计算得到的结果相加,内循环处理2的乘方,容易错在sum这个记录内循环乘方的结果每次用完要清零重新计算 放在最外面就没法清零了

老师做法

这点单循环就能解决,我用了双层嵌套循环是考虑复杂了,因为假如计算2*2*2 我是考虑循环三次相乘

但是2*2*2 也等于4*2 就是2的平方的结果直接拿到下次用 下次不用在从2*2开始算了

 任务66

1

我一开始思考是先判断有多少位 然后在针对他的位数进行输出,但是这样位数不同,处理的步骤不同 总不可能都写出来

老师的解法是有一个转化的思想

一个数输出玩各位然后把他原来的十位变成各位利用/法不留小数点的特性

人后在输出他的个位,这样一来无论几位数都是一直在输出个位,所以只需一行代码就可以

2

这个题按正常思路来处理就是倒着从后面各位开始处理然后倒序打印

得到的结果逆向输出 关于逆向输出会用到栈这里还没有涉及

所以老师的处理方法是

第一个得到的数字*1变成目标数的个位 第二个得到的数字*10变成目标数的十位 以此类推

3

循环的标志位

本题第一个样例输入输出常规实现,主要问题在第二个,我的思考是判断当前数字是否位为0,然后通过某些办法也判断下一位是否为零还是数字,但是目前没想到。

老师设置一个bool类型变量,当遇到0且下一位是数字时改变他的值

简单来说bool的值没改变之前时一种处理0的逻辑 bool的值改变以后是另外一套处理逻辑

4

5

本题思路就是每次read一个字符就做判断

一、Console.Read()、Console.ReadLine()

相同点:

 

两者都是用于输入的函数。

不同点:

Read涉及一个缓冲区问题,用户和控制台存在一个缓冲区。

Read只能读取一个字符,ReadLine可以读取一个字符串。如:Read读取A和AASDGU的返回值都是一样的 都为A的ASCII值,对于后续的ASDGU不理会。而ReadLine则为A和AASDGU原样输出。

Read输出的结果为字符串的ASCII码值,而ReadLine输出字符串。

Read只接受任意键盘输入,ReadLine接受回车。Read键盘任意键往下执行,ReadLine 接受回车往下执行。

二、Console.readKey()

在键盘敲击任意键后退出。一般在Console.Write()或Console,WriteLine()后加入这个函数,使窗口停留直至输入任意键关闭窗口。

 

全部评论

相关推荐

03-27 16:40
已编辑
门头沟学院 C++
26学院本太难了,很多公司机筛就给我刷了。机会都难拿到如果是简历存在问题也欢迎拷打————————————————————分割线——————————————————————2026.3.4更新:发完贴之后,时不时投递又收到了不少的笔试/面试邀请。主要是之前投递简历出去之后基本上都是沉默状态,年后好转了不少timeline:2026.01.21 文远知行笔试,半年多没刷算法题 ->挂 (后续HR说春招可以重新安排笔试)2026.2.4     小鹏汇天 技术一面,第二周收到结果 ->挂2026.2.12   大众Cariad代招 技术二面 ->Offer2026.2.28   多益网络技术面试,由于风评太差,一直在犹豫要不要接面试 ->推迟-----------分割线-----------2026.3 月前的某一天,临时去电网报名了二批计算机岗位的笔试2026.3.6 从上家公司实习离职,氛围最好的一家公司,leader 说可以帮忙转正,但是流程太长,而且我们部门据说只有一个 hc,更想要研究生,我很有可能是会被签外包公司在这里干活,就离职了。2026.3.9 入职新公司,大众Cariad 以外部公司的身份进组,项目组签了三年,后续三年应该都可以在这里呆,不知道有没有希望原地跳槽。2026.3.10 电网考试居然说我通过资格审查了,短信约我去参加资格审查,请假一天,买了 12 号晚上的机票回成都2026.3.15 参加国家电网计算机类笔试2026.3.17 电网出成绩了,感觉很低。觉得已经🈚️了2026.3.18 收到电网面试通知,通知 3.22-3.25 这个时间去面试,我的岗位只招 1 个人。据说面试只有 2-3 人,不知道能不能成功----------分割线-----------2026.3.21 电网面试结束,感觉回答的还勉勉强强,大概是2个岗位分别招1个人,一共11人面试,实际来了9人2026.3.27 出面试成绩,满分100分,早上10:20左右发现面试成绩46,我震惊了,没截图,后面过了十分钟重新看发现面试成绩给我改成58了。但同样震惊。朋友问我是不是把面试官打了,哈哈
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务