見程序中的注釋。#includemain(){int
成都創(chuàng)新互聯(lián)公司主營(yíng)通江網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營(yíng)網(wǎng)站建設(shè)方案,成都app軟件開發(fā)公司,通江h(huán)5成都微信小程序搭建,通江網(wǎng)站營(yíng)銷推廣歡迎通江等地區(qū)企業(yè)咨詢
n,i,a,b,c;double
s;
while(scanf("%d",n)!=0)
//這里沒判斷n的值,改為while(scanf("%d",n)!=0
n!=0)
{
a=0;
b=0;
c=0;
for(i=1;i
你的fun里的形參a是個(gè)int類型,你寫a=1.0/a,相當(dāng)于把1.0/a的結(jié)果又強(qiáng)制轉(zhuǎn)換成了int,因?yàn)槟愕腶肯定比1大,所以結(jié)果當(dāng)然還是0,建議把a(bǔ)=1.0/a改成return 1.0/a,a=0改為return 0
sqrt的返回值類型是double型,你輸出的時(shí)候用%d當(dāng)然結(jié)果是錯(cuò)的了,可以試試類型轉(zhuǎn)換,把最后一個(gè)printf語句改成如下:
printf("%d\n",(int)sqrt(n));