gpt4 book ai didi

c - 2 For 循环一个结果

转载 作者:行者123 更新时间:2023-11-30 17:01:30 24 4
gpt4 key购买 nike

我需要你的智慧。看起来问题不大,但我需要一个方法。首先,我将分享代码。这段代码是正确的,但我需要一些补充,for 循环内部有标准,如果电压大于百分比,没关系,但一切都是正确的,我只需要一次编写。我有 2 个循环,但只需要一个提示。如果令人困惑,我可以分享原始问题。谢谢你们。

我提出原始问题:

从变电站每小时获得一次电压读数,持续六个小时(因此有六个读数)。编写一个C程序对变电站进行如下检查:a) 显示与平均值相差超过平均值 10% 的所有电压。b) 显示一小时内电压变化的所有连续小时对 下一个大于平均值的 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);
}
}

最佳答案

如果您只需要一个循环,请尝试以下操作:

for (i=0;i<6;i++)
{
if((a = fabs(volt[i] - avg)) > avg10 )
{
printf("\nVoltage at hour %d was %.2f volts (diffrence of %.2f volts)\n\n", i+1, volt[i], a);
}
if((i < 5 && (b = fabs(volt[i+1] - volt[i])) > avg15 )
{
printf("\nVoltage change from hour %d to hour %d was %.2f\n\n", i, i+1, b);
}
}

关于c - 2 For 循环一个结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37001445/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com