C语言运行程序为什么没有输出数字,产生的原原因如下:
目前创新互联已为近1000家的企业提供了网站建设、域名、虚拟主机、网站托管维护、企业网站设计、佛坪网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
1、输入的格式不对
要输入“浮点数”并用 “逗号” 分隔输入三个数两个逗号后还要额外多加一回车才开始后面的流程,
如果把
scanf("%f,%f,%f\n",a,b,c);
改为
scanf("%f%f%f",a,b,c);
就可以用空白符做分隔了。
2、没有输出
不知道计算的结果那算法就没有意义了。输出不一定是要打印到屏幕上的,可以是下一个程序的输入,可以是一个文件、一段语音、一张图像,甚至是机器人的步行动作等等。
主函数传入调用函数的是指针,不是数组,所以不能下拉看见数据。
逻辑错误修改:
1、TriSel函数中第一个for循环条件改为 for(i=0;iN;i++)
修改原因:否则在排序后不会输出最后一个元素的值
2、TriSel函数中此行 if(p!=i){Permut(Tab[s],Tab[i]);} 最后加上一个右大括号 }
然后在函数的最后去掉一个右大括号 }
修改原因:内循环结束之后再输出角标为i的元素才能正确输出正确的数组元素个数。
----------------------------------------------------------------------------------------------------------------
语法错误修改(因为你的程序变量类型太混乱了,一会儿整形,一会儿浮点型):
1、将float全部改为int (全部输出0的原因)
2、将所有%f替换为%d
3、函数TriSel 返回值改为void (否则编译不过去)
2、最后一行getch()去掉 或者包含此头文件#includeconio.h
------------------------------------------------------
虽然按照以上修改方案你的程序可以正确运行了,但是建议你还是要好好看看书,基础要打好,这一看就是你自己写的程序,很多冗余变量,没必要的函数参数传递,你的排序算法代码混乱,易读性很差,不过敢写代码还是好事,希望你网上参照一下”选择排序法“去修改(你的算法就是选择排序法。)。