代碼片段中 while(scanf(...)) 與 for 循環嵌套,導致重複輸出。問題在於 while 循環體只有 sum=0; 一條語句,for 循環脫離了 while 的控制,造成每次輸入都觸發一次完整的內層邏輯,產生多組輸出。
while(scanf("%d",&n)!=EOF)
sum=0; // while 體只有一句
for(i=0; i<=...; i++) // 獨立的 for 循環
// 處理邏輯
printf("%d\n",sum);
while 循環體範圍,將處理邏輯包含在內。for 循環條件 i=97&&t<=122 疑為拼寫錯誤,應為 i>=97 && i<=122。「代碼有問題,望貼出完整代碼」—— 完整、可編譯的最小復現代碼是獲得精準幫助的前提。