c语言指针数组编程经典例题
时间: 2023-10-22 10:01:51 浏览: 146
C语言指针数组是C语言中常用的数据结构之一,可以用于存储一组指针的地址。下面是一个经典的C语言指针数组编程例题:
假设有一个学生成绩的数组,其中包含了5个学生的成绩。要求编写一个程序,输出成绩最高的学生的姓名和成绩。
首先,我们需要定义一个包含指针的数组,用来存储学生成绩的地址。假设学生成绩的数据类型为int,可以使用以下代码定义指针数组:
int *scorePtr[5];
接下来,我们需要输入学生的成绩,并将其存储到指针数组中。可以使用以下代码实现:
int scores[5]; // 存储学生成绩的数组
for (int i = 0; i < 5; i++) {
printf("请输入学生%d的成绩:", i+1);
scanf("%d", &scores[i]);
scorePtr[i] = &scores[i];
}
在上述代码中,我们通过scanf函数输入学生的成绩,并将成绩对应的地址存储到指针数组scorePtr中。
最后,我们需要找出成绩最高的学生,并输出其姓名和成绩。可以使用以下代码实现:
int maxScore = *scorePtr[0]; // 假设第一个学生成绩最高
int maxIndex = 0;
for (int i = 1; i < 5; i++) {
if (*scorePtr[i] > maxScore) {
maxScore = *scorePtr[i];
maxIndex = i;
}
}
printf("成绩最高的学生是学生%d,成绩为:%d\n", maxIndex+1, maxScore);
在上述代码中,我们通过遍历指针数组scorePtr,比较每个学生的成绩,找出成绩最高的学生,并将其索引保存到maxIndex中。最后,我们通过maxIndex找到成绩最高的学生,并输出其姓名和成绩。
通过以上步骤,我们可以解决这个经典的C语言指针数组编程例题。
阅读全文