PTA-총점이 가장 높은 학생을 찾아내기(C 언어)

1668 단어 C 언어PTA
학번(5개의 숫자로 구성된 문자열), 이름(10 미만의 공백 문자가 포함되지 않은 비공 문자열), 3개 과정의 성적([0100] 구간 내 정수)을 포함한 N명의 학생에 대한 기본 정보를 지정하고, 총점 최고학생의 이름, 학번, 총점을 출력하도록 했다.
입력 형식: 입력한 줄에 양의 정수 N(≤10)을 입력합니다.이어 N행, 각 행은'학번 성명 성적 1 성적 2 성적 3'이라는 형식으로 중간에 빈칸으로 구분된 한 학생의 메시지를 준다.
출력 형식: 한 줄에서 가장 높은 학생의 이름, 학번, 총점을 출력하고 빈칸을 띄웁니다.제목은 이런 학생이 유일하다는 것을 보증한다.
입력 예: 5 00001 huanglan 78 83 75 00002 wanghai 76 80 77 00003 shenqiang 87 83 76 10001 zhangfeng 92 88 78 21987 zhangmeng 80 82 75 출력 예: zhangfeng 10001 258 첫 번째 방법:main 함수에서 직접 구현

#include 
#include 
#include

struct Student{
 	int num[10];
 	char name[20];
 	int score[3];
 	int sum;
 };
int main(){
	int n;
	struct Student temp;
	scanf("%d",&n);
	struct Student stu[n];
	for(int i=0;i

두 번째 방법: 기능화된 사상에 따라
#include 
#include 
#include
struct Student{
 	int num[10];
 	char name[20];
 	int score[3];
 	int sum;
 };
int main(){
	void input(struct Student stu[],int N);
	struct Student max(struct Student stu[],int N);
	void print(struct Student stu);
	int N;
	scanf("%d",&N);
	struct Student stu[N],*p=stu;
	input(p,N);
	print(max(p,N));
	return 0;
}
void input(struct Student stu[],int N){
	for(int i=0;istu[m].sum) m=i;
	}
	return stu[m];
}
void print(struct Student stud){
	printf("%s %s %d",stud.name,stud.num,stud.sum);
}

좋은 웹페이지 즐겨찾기