Ich bin ein Neuling versucht C zu lernen, und ich muss ein Array mit Auswahl sortieren sortieren. Ich muss auch jede Iteration zeigen, während der Algorithmus fortschreitet. Aber ich kann den folgenden Code nicht funktionieren lassen. Es wirft zufällige Müllnummern auf, wenn die Anzeige des Sortierungsiterationsteils ausgeführt wird (siehe Bild). Ich habe viel gesucht und kann immer noch nicht die Ursache für diesen Fehler finden. Bitte helfen Sie. Program executionWie drucke ich jede Iteration in Auswahlsortierung in C?
#include<stdio.h>
int main()
{
int s,i,j,t,temp,a[20];
printf("Enter the number of elements in the array\n");
scanf("%d",&s);
for(i=0;i<s;i++)
{
printf("Enter element %d\n",i+1);
scanf("%d",&a[i]);
}
printf ("Selection sort.\narray before sorting:\n");
for (i=0;i<s;i++)
printf ("%d ",a[i]);
printf ("\n");
for(i=0;i<s;i++)
{
printf ("After iteration %d\n", i+1);
for(j=i+1;j<s;j++)
{
if(a[i]>a[j])
{
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
for (t=0;t<s;t++);
printf ("%d ",a[t]);
printf ("\n");
}
printf("Array after sorting:\n");
for(i=0;i<s;i++)
printf ("%d ",a[i]);
return 0;
}
Sie haben ein Semikolon nach der 'for'-Schleife in der Sortierschleife. Wählen, um als Tippfehler zu schließen. – dasblinkenlight
Um solche Probleme in der Zukunft zu vermeiden, deklarieren Sie Schleifenvariablen innerhalb der Schleife: 'for (int t = 0; t
dasblinkenlightDanke, dass du dir die Zeit genommen hast, mir zu helfen! – KnightSB