有a个学生,每个学生有b门课程的成绩。要求在用户输入学生序号以后,能输出该学生的全部成绩
有a个学生,每个学生有b门课程的成绩。要求在用户输入学生序号以后,能输出该学生的全部成绩
1.用数组的方式实现
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#define N 3
#define M 4
int main()
{
float score[N][M] = { {56,88,99,86} ,{77,45,99,78},{95,79,89,97} };
int input = 0;
printf("请输入学生的序号:");
scanf("%d", &input);
int i = 0;
int j = 0;
for (i = 0; i < N; i++)
{
if (i == input)
{
for (j = 0; j < M; j++)
{
printf("%.2f ", score[i][j]);
}
}
}
printf("\n");
return 0;
}
输出结果:
2.用函数指针的方式实现
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#define N 3
#define M 4
float* search(float(*score)[M], int input)
{
float* pf;
pf = *(score + input);
return pf;
}
int main()
{
float score[N][M] = { {56,88,99,86} ,{77,45,99,78},{95,79,89,97} };
int input = 0;
printf("请输入学生的序号:");
scanf("%d", &input);
float* p = search(score, input);
int i = 0;
for (i = 0; i < M; i++)
{
printf("%.2f ", *(p+i));
}
printf("\n");
return 0;
}
输出结果: