幫忙看下哪兒里有問題啊?
#include <stdio.h>
float p;
int distance(int x)
int time(int t)
{
? ? if(t>5 && t<23)
? ? p=2.3;
? ? else
{ ? p=2.3*1.2;
? ? return p;
}
float sum()
{ ? ?if(x<=3)
? ? sum=13+1;
? ? printf("小明每天打車的總費用:%d",sum);
}
else
{
? ? sum=(13+(x-3)*p+1)*2;
? ? printf("小明每天打車的總費用:%d",sum);
?}
int main()
{
? ? int t(10);
? ? int x(12);
? ? return 0;
}
2016-11-30
同學,首先你的代碼結構比較混亂,注意養成良好的編程習慣??!我看了好久才跟上你的思路。
下面是我替你修改的代碼。
#include <stdio.h>
float p;
int x;?????? 這里定義x為全局變量。(建議全局變量盡量少用,會破壞函數的可調用性;)
int time(int t)
{
??? if(t>5 && t<23)
??? p=2.3;
??? else
??? p=2.3*1.2;
??? return p;
}
int f(int x)???????? 這里函數名我定義為f,同一個名字一份代碼里最好只用一次;
{??
??? int sum;
??? if(x<=3)
??? {
??? sum=13+1;
??? printf("小明每天打車的總費用:%d",sum);
??? }
??? else
??? {
??????? sum=(13+(x-3)*p)*2+1;?????????? 這里是每次打車加一元,不是加兩元;
??????? printf("小明每天打車的總費用:%d",sum);
??? }
}
int main()
{
??? int time(int t);
??? int f(int x);
??? 上面兩句并沒有執行該函數,得再寫一次,像下面這樣;
??? time(10);
??? f(12);
??? return 0;
}
另外注意,可以把輸出語句放在主函數里面寫,會簡潔一點;
此外 大括號的使用也要注意,我挑了好久使用錯誤的大括號。。。。
祝你編程愉快!