這題寫了好一會, 因為遇到一些問題
分糖分的是原來的糖果還是拿到了別人給的糖果加起來一起的?
如果是分原來的糖果之后那就要再另外那一個數組存, 數組初始為0,?那么分完之后自己的那一份應該存進另一個數組, 是加法
如果是分拿到了別人給的糖果加起來一起的, 那么分完之后不是直接在原來的數值上加, 而是覆蓋, 要把原來的值覆蓋
代碼結果:
#include <stdio.h>
int main() {int arr[5] = {0};int eat = 0;int i;for(i = 0; i < 5; i++){scanf("%d", &arr[i]);}for(i = 0; i < 5; i++){eat = eat + arr[i]%3;//這里應該是覆蓋原來的數量,因為是把所有的糖都拿出來分了然后自己留一份int share = arr[i]/3;arr[i] = share;if(i == 0){arr[i+1] = arr[i+1] + share;arr[4] = arr[4] + share;}else if(i == 4){arr[0] = arr[0] + share;arr[i-1] = arr[i-1] + share;}else{arr[i+1] = arr[i+1] + share;arr[i-1] = arr[i-1] + share;}}for(i = 0; i < 5; i++){printf("%d ", arr[i]);}printf("\n%d", eat); return 0;
}