我需要你的智慧。看起來不是一個大問題,但我需要一種方法。 首先,我會分享代碼。這段代碼是正確的,但我需要一些補充,內循環有條件,如果電壓大於百分比它沒關係,但都是正確的我只需要一個寫作。我有2個循環,但只需要一個提示。 如果它很混亂,我可以分享原來的問題。感謝你們。2 For循環一個結果
我把原來的問題:
電壓讀數從一個變電站得到一次六小時每小時(所以有六個 讀數)。寫一個C程序在變電站上執行以下檢查: a)顯示與平均值相差超過平均值10%的所有電壓。 b)顯示所有連續小時對,其中從1小時的電壓變化到下一個小時的電壓的變化大於平均值的15%。
實施例1
輸入6點的電壓:210.1 223.2 189.6 206.2 235.1 215.0 平均值爲213.2伏。 10%= 21.3伏。 15%= 32.0伏特。
發生以下問題: 1.第3小時的電壓爲189.6伏(相差23.6伏)。 2.第5小時的電壓爲235.1伏(相差21.9伏)。 3.從小時2到小時3的電壓變化是33.6伏。
實施例2
輸入6點的電壓:233.1 201.0 221.5 240.2 222.7 208.1 平均值爲221.1伏。 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);
}
}
是你的問題如何打印「沒有問題遇到」第二個例子? –
是的,因爲我只需要一個「沒有遇到問題」的答案。我嘗試了很多次,我看到了循環的所有可能性,所以11「沒有遇到任何問題」或者當我在循環中添加3.if時,我看到電壓正確後顯示「沒有遇到問題」結果。 – Axis