[英]Determining the max and min value from inputs
我希望系統能夠從輸入中確定最大值和最小值並將其保存在變量中,但我不確定如何做到這一點。
這是我的代碼:
#include<stdio.h>
#include<stdlib.h>
#include <math.h>
int main(void)
{
float startnummer;
float hoppnummer;
float svarighetsgrad;
float domarpoang1;
float domarpoang2;
float domarpoang3;
float domarpoang4;
float domarpoang5;
float domarpoang6;
float domarpoang7;
float max;
float min;
printf("Startnummer: \n");
scanf_s("%f", &startnummer );
printf("Hoppnummer:\n");
scanf_s("%f", &hoppnummer);
printf("Svarighetsgrad:\n");
scanf_s("%f", &svarighetsgrad);
printf("Domarpoang 1:\n");
scanf_s("%f", &domarpoang1);
printf("Domarpoang 2:\n");
scanf_s("%f", &domarpoang2);
printf("Domarpoang 3:\n");
scanf_s("%f", &domarpoang3);
printf("Domarpoang 4:\n");
scanf_s("%f", &domarpoang4);
printf("Domarpoang 5:\n");
scanf_s("%f", &domarpoang5);
printf("Domarpoang 6:\n");
scanf_s("%f", &domarpoang6);
printf("Domarpoang 7:\n");
scanf_s("%f", &domarpoang7);
system("cls");
printf("Startnummer: %.1f \n", startnummer);
printf("Hoppnummer: %.1f\n", hoppnummer);
printf("Svarighetsgrad: %.1f\n", svarighetsgrad);
printf("Domarpoang 1: %.1f\n", domarpoang1);
printf("Domarpoang 2: %.1f\n", domarpoang2);
printf("Domarpoang 3: %.1f\n", domarpoang3);
printf("Domarpoang 4: %.1f\n", domarpoang4);
printf("Domarpoang 5: %.1f\n", domarpoang5);
printf("Domarpoang 6: %.1f\n", domarpoang6);
printf("Domarpoang 7: %.1f\n", domarpoang7);
printf("Hoppoang: \n");
printf("Tryck tangent for nytt hopp!");
getchar();
getchar();
return 0;
}
因此,我要為系統確定domarpoang 1-7的最大值和最小值並將其保存到變量max和min。 我不知道該怎么辦,因為輸入已保存到不同的變量中,因此如何檢查每個變量的最大值和最小值。
謝謝
如果您創建一個浮點數組並將其循環傳遞給scanf(我在Linux上使用的是scanf cos,但您應該能夠將原理應用於scanf_s)。 我將所有數據添加到一個結構中以進行整理。
然后,您可以在循環中跟蹤最小值和最大值。
抱歉,變量名可能看起來很奇怪,因為我聽不懂您的語言。
#include<stdio.h>
#include<stdlib.h>
#include <math.h>
#include <float.h>
struct mystruct
{
float startnummer;
float hoppnummer;
float svarighetsgrad;
float domarpoangs[7];
};
int main(void)
{
struct mystruct data;
float max = FLT_MIN;
float min = FLT_MAX;
printf("Startnummer: \n");
scanf("%f", &data.startnummer );
printf("Hoppnummer:\n");
scanf("%f", &data.hoppnummer);
printf("Svarighetsgrad:\n");
scanf("%f", &data.svarighetsgrad);
int i = 0;
for(i = 0; i < 7; i++)
{
printf("domarpoang %d\n", i+1);
float f;
if(scanf("%f", &f) == 1)
{
if (f < min) min = f;
if (f > max) max = f;
printf("read float %f\n", f);
printf("min=%f max=%f\n", min, max);
data.domarpoangs[i] = f;
} else
{
printf("error parsing float\n");
exit(0);
}
}
system("cls");
printf("Startnummer: %.1f \n", data.startnummer);
printf("Hoppnummer: %.1f\n", data.hoppnummer);
printf("Svarighetsgrad: %.1f\n", data.svarighetsgrad);
for(i = 0; i < 7; i++)
{
printf("Domarpoang %d: %.1f\n", (i+1), data.domarpoangs[i]);
}
printf("min=%f max=%f\n", min, max);
printf("Hoppoang: \n");
printf("Tryck tangent for nytt hopp!");
getchar();
getchar();
return 0;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.