要素数100程度の2つのint型配列a,bを宣言し、入力データ件数n、をキー入力し、n件の整数値データを入力し、入力データ値であれば配列aに偶数であれば配列bに格納し、それぞれの格納件数、合計をモニタ入力に表示するプログラム。
ソースコードを書いてみたのですが、実行できずいまいちどこが間違っているのかがわからないです…。
#include <stdio.h>
int main(void)
{
double a[100], b[100],odds_k,evens_j;
int n,i,j,k,odds,evens,date;
printf("input n => ");
scanf("%d", &n);
odds_k=evens_j = 0;
k = j = 0;
odds = evens = 0;
i = 0;
a[k] = b[j] = 0;
for (i = 0;i < n;i++);
{
printf("input date => ");
scanf("%d", &date);
if ((date % 2) == 1)
{
date = a[k];
k = k + 1;
odds = odds + date;
}
else
{
date = b[j];
j = j + 1;
odds = odds + date;
}
}
printf("\n奇数 合計=%.3f\n", odds_k);
printf("件数=%.3f\n", k);
printf("\n偶数 合計=%.3f\n", evens_j);
printf("偶数 合計=%.3f\n",j);
return 0;
}
急ぎです…。
Re: 急ぎです…。
全部見たわけではありませんが…
って書いてあるのに、どうしてあみあみ さんが書きました:要素数100程度の2つのint型配列a,b
こうなっちゃうんですか?
バグのないプログラムはない。
プログラムは思ったとおりには動かない。書いたとおりに動く。
プログラムは思ったとおりには動かない。書いたとおりに動く。
Re: 急ぎです…。
入力データ値が奇数であれば配列a、偶数であれば配列bに格納ですかね?あみあみ さんが書きました:入力データ値であれば配列aに偶数であれば配列bに格納
4つ目は偶数合計ではなく件数ですね。
それとodds_kとevens_jは最初の方で0を代入したきりで使用していません。
折角入力したdateに対して、配列の中身を代入してしまっています。
それと、コードを上げるときはcodeタグで囲んでくださいね。見やすくなりますので(投稿ページのバーの3段目、左から2番目にあります)
追記 よく見てたら偶数であるbの処理でもodds使っていますね。 それとdate(日付)になってますが、dataの間違いですかね? for文が直後の;(セミコロン)で終了させられています。
これでは下のデータ入力の箇所はfor文の外の扱いになって1度しか処理されません。
結構説明が下手ですのでご了承ください。割と言葉が足りなかったり文字だらけで分かりにくかったりします。