这个程序有几个问题:

  1. 在内层的循环中,for(int l=0;l<bushu;++i)语句中的++i应该是++l,否则会导致l一直增加,导致内层循环无法结束。

  2. 在最后的for(int i ;num[i]==-1;i++)语句中,没有给i赋初值,应该改为for(int i=0;num[i]==-1;i++)

  3. 在最后的输出部分,应该在每个数字后面加上空格或换行符,否则输出结果会连在一起。

  4. 在内层的循环中,需要加上判断m是否越界的条件,否则可能导致数组越界。

  5. 在排序部分,应该将外层循环的条件改为c<n-1,而不是c<n,否则可能会导致数组越界。

  6. 在最后的输出部分,应该将输出的数字用printf("%d ",num[i])而不是printf("%d",num[i]),否则会导致输出结果连在一起。

  7. 在最后的输出部分,应该加上换行符printf("\n"),否则输出结果会连在一起。

这些是我发现的问题,可能还有其他问题。建议在编译和运行程序之前先进行调试和测试。

#includestdiohint main int n; scanfd&n; int numn; forint i=0;in;i++ scanfd&numi; forint i=0;in;i++ int bushu=0; ifnumi!=-1 int n=

原文地址: https://www.cveoy.top/t/topic/ikcx 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录