9.192 有4名学生,每个学生考4门课程,要求在用户输入学生序号以后能输出该学生的全部成绩,用指针型函数实现。
cs
#include<stdio.h>
float *search(float(*pointer)[4],int n);
int main(){
static float score[][4]={{60,70,80,90},{50,89,67,88},{34,78,67,88},{80,90,100,70}};
float *p;
int m,i;
scanf("%d",&m);
p=search(score,m);
for(i=0;i<4;i++)printf("%5.2f\t",*(p+i));
return 0;
}
float *search(float(*pointer)[4],int n){
return *(pointer+n-1);
}
9.193 计算数组中的最大元素及其下标值和地址值。
cs
#include<stdio.h>
int *findmax(int *s,int t,int *k){
int i;
*k=0;
for(i=0;i<t;i++){
if(*(s+i)>*(s+*k)){
*k=i;
}
}
return s+*k;
}
int main(){
int a[10]={12,23,34,45,56,67,78,89,11,22},k,*add;
add=findmax(a,10,&k);
printf("%3d%3d%o\n",a[k],k,add);
return 0;
}