Re: 程設

作者: medama ( )   2022-12-07 10:36:03
我不會寫C
剛問AI
AI回答我這樣
你看對不對:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
// 定義一個學生的結構
typedef struct student {
char name[100];
int score;
int id;
} student;
int main()
{
// 讀取檔案並建立串列
FILE* fp = fopen("text.txt", "r");
student* students = malloc(sizeof(student));
int num_students = 0;
// 讀取每個學生的資料並儲存到串列中
while (fscanf(fp, "%s %d %d", students[num_students].name,
&students[num_students].score, &students[num_students].id) == 3) {
num_students++;
students = realloc(students, (num_students+1) * sizeof(student));
}
// 請使用者輸入排列順序
char order[4];
printf("請輸入排列順序(123或213):");
scanf("%s", order);
// 依據使用者輸入的順序輸出學生資料
for (int i = 0; i < num_students; i++) {
if (strcmp(order, "123") == 0) {
printf("%s %d %d\n", students[i].name, students[i].score,
students[i].id);
}
else if (strcmp(order, "213") == 0) {
printf("%d %s %d\n", students[i].score, students[i].name,
students[i].id);
}
else {
printf("輸入錯誤!\n");
return 1;
}
}
// 釋放動態記憶體
free(students);
return 0;
}
※ 引述《Sugarwithkis (sugarwithkis)》之銘言:
: 作業有一題
: 說老師會給一個text.txt的檔案
: 裡面有亂數排列的學生名字成績學號
: 然後要我們程式可以input 各種順序的123
: 123分別代表名字 成績 學號
: 假設input 123
: 就output 每個人名字成績學號 一個人一行
: 如果是213
: 那就output 成績名字學號 一個人一行
: 聽說會用到指標 動態記憶體配置 串列
: 可是我還在想怎麼開檔案
: 漬鯊
:
作者: medama ( )   2022-12-07 10:37:00
作者: Ericz7000 (Ericz7000nolan)   2022-12-07 10:38:00
那321怎麼辦 還有四種組合沒有加上去
作者: DreaMaker167 (dreamaker)   2022-12-07 10:38:00
哪裡可以問
作者: p54661205 (APK)   2022-12-07 10:39:00
你用哪套AI阿 AlphaCode?
作者: wu10200512 (廷廷)   2022-12-07 10:39:00
AI好屌…
作者: Ericz7000 (Ericz7000nolan)   2022-12-07 10:39:00
好屌
作者: uiojkl789 (雪!花!喵!喵!)   2022-12-07 10:40:00
笑死 AI的正確用法
作者: dogberter (狗伯特二)   2022-12-07 10:42:00
AI真猛
作者: wwndbk (黑人問號)   2022-12-07 10:44:00
好屌
作者: pandix (麵包屌)   2022-12-07 10:48:00
笑死

Links booklink

Contact Us: admin [ a t ] ucptt.com