初學者編寫 C 程序將輸入的年齡(整數)乘以一年的秒數(3.156e7),輸出結果。代碼編譯運行無報錯,但對變量命名與業務含義存疑。
#include
int main(void) {
int a;
float years, acounts;
years = 3.156e7;
scanf("%d", &a);
acounts = years * a;
printf("your age is %f.\n", acounts);
return 0;
}
程序語法正確,邏輯無誤:輸入合理整數(如 20),輸出為對應秒數(約 6.3 億),計算結果準確。但存在以下可改進點:
years 實際存儲「每年秒數」,建議改為 secondsPerYear。acounts 疑為 accounts 拼寫錯誤,語義不明,建議用 totalSeconds。#include
int main(void) {
int age;
const double SECONDS_PER_YEAR = 3.156e7;
printf("請輸入年齡: ");
if (scanf("%d", &age) != 1 || age < 0) {
printf("輸入無效\n");
return 1;
}
double totalSeconds = age * SECONDS_PER_YEAR;
printf("你已生活 %.0f 秒\n", totalSeconds);
return 0;
}