私はあなたの知恵が必要です。大した問題ではないようですが、私は方法が必要です。 まず、コードを共有します。このコードは正しいですが、私はいくつかの追加が必要です。ループ内の基準は、電圧がパーセンテージより大きい場合はOKですが、すべて正しいと思います。私は2つのループを持っていますが、ただ一つのプロンプトが必要です。 混乱している場合は、元の質問を共有できます。君たちありがとう。2ループの場合1つの結果
私は元の質問を置く:
電圧読み取りは、変電所から6時間毎に1回時間を得た(その6つの 測定値があります)されています。変電所について以下のチェックを実行するCプログラムを作成します。 a)平均と10%以上異なるすべての電圧を表示します。 b)1時間の電圧から次の電圧への変化が平均値の15%を超える連続した時間のすべてのペアを表示します。平均値が213.2ボルトで210.1 223.2 189.6 206.2 235.1 215.0 :
例1
6つの電圧を入力してください。 10%= 21.3ボルト。 15%= 32.0ボルト。
次の問題が発生しました: 1.時間3の電圧は189.6ボルト(差は23.6ボルト)でした。 2.時間5の電圧は235.1ボルト(21.9ボルトの差)であった。 3.時間2から時間3への電圧変化は33.6ボルトであった。平均値が221.1ボルトで233.1 201.0 221.5 240.2 222.7 208.1 :
例2
6つの電圧を入力してください。 10%= 22.1ボルト。 15%= 33.2ボルト。
問題は発生しませんでした。
#include <stdio.h>
#include <math.h>
#include <string.h>
int i;
float volt[6];
float avg, avg10, avg15, total, a, b;
int main() {
total= 0 ;
avg = 0;
printf("Enter 6 Volts of Machine\n");
for (i=0; i<6; i++) {
printf("Type %d. volt", i+1);
scanf("%f",&volt[i]);
total = total + volt[i];
}
avg = total/6;
avg10 = (avg * 10)/100;
avg15 = (avg * 15)/100;
printf("------------------------------------------\n");
printf("The machine Avarage Voltage is %.2f\n", avg);
printf("The Machine Avarage is%.2f\n", avg10);
printf("The Machine 15 Avarage is%.2f\n\n\n", avg15);
for (i=0;i<6;i++) {
a = fabs(volt[i] - avg);
if(a > avg10) {
printf("\nVoltage at hour %d was %.2f volts (diffrence of %.2f volts)\n\n", i+1, volt[i], a);
}
}
for (i=0; i<5; i++) {
b = fabs(volt[i+1] - volt[i]);
if(b > avg15) {
printf("\nVoltage change from hour %d to hour %d was %.2f\n\n", i+1, i+2, b);
}
}
は、あなたの質問は、どのように第二の例では「いいえ問題は発生しなかった」印刷していますか? –
はい、実際には、私はただ1つの "問題は発生しませんでした"という回答が必要なためです。私は何度も試してみましたので、forループの可能性を見たので、11 "問題はありませんでした"、またはループの下に3.ifを追加したところ、電圧が正しいと表示され、 "問題はありませんでした"という結果も表示されました。 – Axis