p/q用的是整型除法,p小于q,结果永远等于0改成p*1.0/q
没问题吧
double m = sqrt((double)p/q));
多加一个强制转换,否则m永远是0.
建议:1、学会贴格式优良的代码,尊重想帮你的人,让人直接copy & paste2、学会用调试工具,gdb,或者printf,未来开发中c/c++调试的时间不比开发时间少。