17070047 / 17070047/CodeStructureCourse

解宇飞

Offen
#84 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Vorherrschende Sprache
C++
Sterne
16
Forks
2
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

```c
#include
using namespace std;
const int maxn = 10000 + 10;
struct Node
{
int department;//院号
int number;//借书证卡号
char name[maxn];//姓名
char student_id[maxn];//学号
};
Node a[maxn];
void quicksort(Node a[], int left, int right)//按照卡号进行排名
{
int i, j;
if (left >= right)
return;

i = left, j = right;
a[0] = a[i];
while (i != j)
{
while (a[j].number > a[0].number && i < j)
--j;
if (i < j)
{
a[i] = a[j];
i++;
}
while (a[i].number < a[0].number && i < j)
++i;
if (i < j)
{
a[j] = a[i];
j--;
}
}
a[i] = a[0];
quicksort(a, left, i - 1);
quicksort(a, i + 1, right);

}

void bin_search(Node a[], int n, int x)
{
int left = 1, right = n;
int ans = 0;
while (left <= right)
{
int mid = (left + right) / 2;
if (a[mid].department == x)
{
ans = mid;
break;
}
else if (a[mid].department < x)
{
left = mid + 1;
}
else
{
right = mid - 1;
}
}
if (!ans)
{
printf("没找到\n");
}
else
{
int start = ans, ends = ans;
while (a[start].department == x)
start--;
while (a[ends].department == x)
ends++;
printf("%d院的信息为:\n", x);
for (int i = start + 1; i < ends; i++)
{
printf("%d %d %s %s\n", a[i].department, a[i].number, a[i].name, a[i].student_id);
}
}
}
int main()
{
int n;
int i;
printf("请输入信息系统学生的个数:\n");
scanf("%d", &n);
printf("请输入学生学院号、卡号、姓名、学号:\n");
for (i = 1; i <= n; i++)
{
scanf("%d%d%s%s", &(a[i].department), &a[i].number, &a[i].name, &a[i].student_id);
}
quicksort(a, 1, n);
printf("按照卡号顺序输出学生信息:\n");
for (i = 1; i <= n; i++)
{
printf("%d %d %s %s\n", a[i].department, a[i].number, a[i].name, a[i].student_id);
}
int x;
printf("请输入要查找的学院号:\n");
scanf("%d", &x);
bin_search(a, n, x);
return 0;
}
```

![default](https://user-images.githubusercontent.com/45333717/49681036-689f0f00-fad6-11e8-97c7-a74c62c982cd.PNG)

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Rechercherichtung

The issue contains a C program with a quicksort and binary search for student records. The problem is not described; the image link is broken. To start, examine the code for logical errors, such as off-by-one indexing (arrays start at 1) or incorrect binary search on unsorted department field. Run the program with sample input to see if it crashes or produces wrong output. Check the repository for similar programs or assignment instructions to understand the expected behavior.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
c, cpp
Bereich
cli
Issue-Typ
Bug
Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Aktivitätsstatus
Veraltet
Klarheit
Muss geklärt werden
Anfängerfreundlichkeit
20/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.