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