题目内容:
用指针编写程序:求出最高分学生的学号和成绩。程序结构及部分程序已经给出,请按要求完善程序。说明:由于是练习指针的使用,所以加了限制。注意:学号并不一定是有序的。
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;
}