{
"question_id": 7458697, "question_title": "求出最大分数和学号", "question_content": "<p>【题目描述】\n输入一个班级的学生人数(学生人数不超过60人),再输入该班学生每个学生的学号和某门课的成绩,要求用函数编程实现输出最高分及其学号。\n【输入形式】\n第一行输入学生人数N,接下来的N行分别输入N个学生的学号和成绩,学号和成绩均为整数,学号范围为1~9999,成绩范围为0~100。\n【输出形式】\n一行,两个正整数,分别表示最高分和对应的学号。如果最高分有相同的,则输出最先出现的最高分和对应的学号。\n【样例输入1】\n3\n1101 85\n1102 95\n1103 90\n【样例输出1】\n95 1102</p>\n<pre>\n<code>#include<iostream>\n#include<cstring>\nusing namespace std;\nvoid findmax(int score[],int num[],int *pmax,int *pmaxnum);\nint main()\n{\n\tint n,i,max,maxnum;\n\tint score[100];\n\tchar num[100];\n\tcin>>n;//输入n \n\tfor(int i=0;i<n;i++)\n\t{\n\t\tcin>>num[i]>>score[i];//分别输入学号分数 \n\t}\n\tfindmax(score,num,n);//调用指针函数 \n} \nvoid findmax(int *score,char *num,int n)//找出最大分数和学号 \n{\n\tint max=*score;int maxnum=*num;//初始化最大分数和学号 \n\tfor(int i=0;i<n;i++)\n\t{\n\t\tif(score[i]>*max) \n\t\t{\n\t\t\t*pmax=score[i];\n\t\t\t*pmaxnum=num[i];\n\t\t}\n\t\t\n\t}\n\tcout<<*max<<" "<<*maxnum<<endl;\n\treturn 0;\n}</code></pre>\n<p> </p>", "difficulty": "中等", "answer_id": 53443352, "answer_content": "<p>代码修改如下:</p>\n\n<pre>\n<code>#include<iostream>\n#include<cstring>\nusing namespace std;\nvoid findmax(int score[],int num[],int n,int &max,int &maxnum);\nint main()\n{\n\tint n,max,maxnum;\n\tint score[100];\n\tint num[100];\n\tcin>>n;//输入n \n\tfor(int i=0;i<n;i++)\n\t{\n\t\tcin>>num[i]>>score[i];//分别输入学号分数\n\t}\n\tfindmax(score,num,n,max,maxnum);//调用指针函数 \n} \nvoid findmax(int *score,int *num,int n,int &max,int &maxnum)//找出最大分数和学号 \n{\n\tmax=*score;\n\tmaxnum=*num;//初始化最大分数和学号 \n\tfor(int i=0;i<n;i++)\n\t{\n\t\tif(score[i]>max) \n\t\t{\n\t\t\tmax=score[i];\n\t\t\tmaxnum=num[i];\n\t\t}\n\t}\n\tcout<<max<<" "<<maxnum<<endl;\n\n}\n</code></pre>\n\n<p> </p>\n", "tag_name": "c++", "cpp": "#include<iostream>\n#include<cstring>\nusing namespace std;\nvoid findmax(int score[],int num[],int n,int &max,int &maxnum);\nint main()\n{\n\tint n,max,maxnum;\n\tint score[100];\n\tint num[100];\n\tcin>>n;\n\tfor(int i=0;i<n;i++)\n\t{\n\t\tcin>>num[i]>>score[i];\n\t}\n\tfindmax(score,num,n,max,maxnum);\n} \nvoid findmax(int *score,int *num,int n,int &max,int &maxnum)\n{\n\tmax=*score;\n\tmaxnum=*num;\n\tfor(int i=0;i<n;i++)\n\t{\n\t\tif(score[i]>max) \n\t\t{\n\t\t\tmax=score[i];\n\t\t\tmaxnum=num[i];\n\t\t}\n\t}\n\tcout<<max<<\" \"<<maxnum<<endl;\n}", "topic_link": "https://bbs.csdn.net/topics/600470154", "status": 0, "keywords": "算法初阶,基础知识,函数的增长,标准记号与常用函数", "license": "csdn.net", "notebook": { "cpp": "https://codechina.csdn.net/csdn/csdn-daily-code/-/jupyter/master/data/notebook/answer/ipynb/cpp/45.ipynb?type=file" }, "notebook_enable": 1, "author": "weixin_45821690"
}