(第九周上机)C语言程序设计:求最高分
题目内容:
用指针编写程序:求出最高分学生的学号和成绩。程序结构及部分程序已经给出,请按要求完善程序。说明:由于是练习指针的使用,所以加了限制。注意:学号并不一定是有序的。
int main()
{
int num[10]; //学号
double score[10]; //对应的成绩
定义指针变量p,用于指向数组num中的元素;
定义指针变量q,用于指向数组score中的元素;
定义指针变量s,用于指向最高分学生的学号;
定义指针变量t,用于指向最高分学生的成绩;
不能再定义其它变量
先从键盘输入10名学生的学号和成绩
再按格式输出学生成绩表
然后求出最高分学生的学号和成绩
最后输出最高分学生的学号和成绩
return 0;
}
输入格式:
%d%lf
输出格式(参考输出样例):
%d %.1lf\\n
输入样例:
101 90.5
102 85
103 75.5
104 86
105 78
106 95
107 88.5
108 82.5
109 87
110 65
输出样例:
成绩表
101 90.5
102 85.0
103 75.5
104 86.0
105 78.0
106 95.0
107 88.5
108 82.5
109 87.0
110 65.0
最高分学生的学号和成绩
106 95.0
时间限制:500ms内存限制:32000kb
#include<stdio.h>
int main(){int num[10]; //学号double score[10]; //对应的成绩int *p=num;double *q=score;int *s=&num[0];double *t=&score[0];int i;for(i=0;i<10;i++){scanf("%d%lf",&num[i],&score[i]);}printf("成绩表\\n");for(i=0;i<10;i++){printf("%d %.1lf\\n",num[i],score[i]);}for(i=0;i<10;i++){if(*(q+i)>*t){*t=*(q+i);*s=*(p+i);}}printf("最高分学生的学号和成绩\\n");printf("%d %.1lf\\n",*s,*t);return 0;}