① 這是c語言編譯的一個成績篩選程序,為什麼最後輸出是0怎麼改呢
你的Input函數有問題啊
你只判斷了max<score的情況,當你的score小於0的時候,沒有處理,而且也沒有返回
上面估計默認就當你返回0了,因此你最後的時候y=0,而且max是個局部變數,你每次比較x都是與0比較,並沒有起到每次獲取大值的目的。
main函數中,你應該先判斷x是否小於0,然後調用Input
Input可以這樣用:
y=y>Input(x)?y:Input(x);
其實不都不用使用Input函數,直接在main中就能實現
intmain()
{
intx,y;
printf("pleaseinputscores(-1tobreak):");
y=0;
for(;;)
{
scanf("%d",&x);
if(x<0)
break;
y=y>x?y:x;
printf("%d已鍵入",x);
}
printf("最高成績為%d",y);
}
② c語言編程的程序為什麼無法運行,一直提示源文件未編譯
1、源文件必須先編譯生成可執行文件後才能運行。
2、對於Dev-C++,編譯和運行都可以在頂部的運行菜單內找到。先選擇」編譯「(快捷鍵Ctrl+F9),然後再選擇」運行「(快捷鍵Ctrl+F10);或者,直接選擇「編譯運行」(快捷鍵F9)將兩步合並操作。
③ C語言中編譯正確,但是運行結果顯示全是0,怎麼回事啊
a=1/2×b×n,這個表達式是有問題的,1÷2求商的話,他永遠等於零,所以你的結果不管輸入什麼都是為零的。