이 코드를 작성했습니다. 버그가 많습니다. 어떻게 입력했는지 순서를 알고 싶습니다. 그런 다음 거품 뽑기로 정렬합니다. 그리고 나서 최소값과 최대 값을 구합니다.이 프로그램은 나에게 항상 같은 최소값과 최대 값을줍니다. 도와주세요. Thx;)최소 및 최대 C 오류
#include<stdio.h>
#include<stdlib.h>
#define N 10
int main()
{
int eingabe[N],mini,maxi,i,temp,j;
float medium,ds;
{
printf("Bitte 10 Werte eingeben!");
for(i=0;i<N;i++)
{
scanf("%i",&eingabe[i]);
}
printf("Die eingegebenen Werte der Eingabereihenfolge nach:");
for(i=0;i<N;i++)
{
printf("\n%i",eingabe[i]);
}
for(j=0;j<N-1;j++)
for(i=0;i<N-1-j;i++)
{
if (eingabe[i]>eingabe[i+1])//Bubblesort
{
temp=eingabe[i];
eingabe[i]=eingabe[i+1];//Tausch der Variablen
eingabe[i+1]=temp;
}
}
printf("Sortierte Werte(min to max):");
for(i=0;i<N;i++)
{
printf("\n%i",eingabe[i]);
}
mini=eingabe[0];
maxi=eingabe[0];
for(i=0;i<N;i++)
{
if(maxi<eingabe[i])
{
maxi=eingabe[i];
}
if (eingabe[i]<mini)
{
mini=eingabe[i];
}
printf("\nDer Minimalwert ist: %i",mini);
printf("\nDer Maximalwert ist: %i",maxi);
for(i=0;i<N;i++)
{
medium=medium+eingabe[i];
}
ds=medium/2;
printf("\nDer Durchschnitt betraegt: %f",ds);
}
}
return 0; }
변수'mini'와'에
변화를 값 maxi'는 초기화되므로 아무 것도 테스트하지 않습니다. 위험 해! – user3018144
* 초기화되지 않았습니까? [i + 1] 대신에 – Oerd