C语言小白。。。。。。。。。。。

2024-11-27 00:48:24
推荐回答(1个)
回答1:

1、while(i>0)应该改成while(i>=0),之前还需要做一次i--,因为数组b是从0开始存的,while(number>0)结束时i多加了一次。
2、编译错误的原因可能是true和false,这是c++的常量,c语言里是没有的。
3、根据几个测试点,PrintN应该判断m、n的关系,需要排除无效数据,并打印信息,同时对于判断narcissistic函数返回值是否为1时最好写成if(narcissistic( i ) == 1),这样比较严谨。
4、最后,narcissistic里对于负数的处理也不好,拆分出来后都是正数,这样负数永远都不会对。当然,题目对m、n范围有要求,只是你没做。