初心者の学生です。どうぞ宜しくお願いいたします。
ユーザ入力から配列(最低、最高)を呼び出し累計を計算する課題を解いているのですが、
1日半 格闘し、検索も沢山したのですが... どうしても上手くいかず困っています...
まず日別の合計を計算してから累計を求めようとしました。
- 配列0+1
- 配列0+1+2
- 配列0+1+2+3
- 配列0+1+2+3+4 というように足し算していきたかったのですが、
私の書き方だと最後の配列2つしか足し算できていないようなのです。
累計の正解は
- 日付1入力時:4
- 日付2入力時:12
- 日付3入力時:16
- 日付4入力時:15
- 日付5入力時:12 です(エクセル表ご参照)
お知恵をお借りできれば幸いです。お時間ありがとうございます。
発生している問題
該当のソースコード
C
1#include <stdio.h> 2#define NUM_DAYS 5 3int main(void) { 4 int i, days, total = 0; 5 int daytotal[NUM_DAYS] = {0}; 6 int high[NUM_DAYS] = {6, 9, 7, 8, 5}; 7 int low[NUM_DAYS] = {-2, -1, -3, -9, -8}; 8 9 do { 10 printf("1~5までの日付を入力してください(負の値で終了): "); 11 scanf("%d", &days); 12 13 for (i = 0; i < days; i++){ 14 daytotal[i] = high[i] + low[i]; 15 printf("(配列%d) 日付: %d, 最高: %d, 最低: %d 日別合計 = %d\n", i, days, high[i], low[i], daytotal[i]); 16 total = daytotal[i-1] + daytotal[i]; 17 } 18 19 printf("%d日までの累計: %d\n\n", days, total); 20 21 } while(days > 0); 22 23 return 0; 24}
ご参照
試したこと
- total += daytotal[i]; 累計の計算が合いませんでした
- total = daytotal[i] + daytotal[n + i]; 累計の計算が合いませんでした
補足情報
このサイトでコンパイルしました。
https://www.onlinegdb.com/online_c_compiler
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/06/15 17:53