[问题] 请教结构指标的题目

楼主: elohacp4 (Liou)   2015-04-26 22:13:46
大家好,小弟目前在自学C语言,买书作习题发现有个题目不懂的地方
还请大家多多帮忙。(实在是想不透阿~~~)
题目:利用一个指向结构data型态的指标,来指向结构阵列student,
如下叙:
struct data *ptr;
ptr=student;
是以ptr指标算术运算完成下面的程式设计。
#include <stdio.h>
#include <stdlib.h>
#define MAX 6
int main(void)
{
int i,sum=0;
struct data
{
char name[10];
int math;
}student[MAX]={{"Jenny",63},{"Teresa",88},
{"Kimi Chen",57},{"Lily Kao",92},
{"David",48},{"Bird",23}};
struct data high=student[0];
for(i=0;i<MAX;i++)
{
if(high.math<student[i].math)
{
strcpy(high.name,student[i].name);
high.math=student[i].math;
}
}
printf("%s的数学成绩最高是%d分\n",high.name,high.math);
printf("\n以下为不及格的名单:\n");
for(i=0;i<MAX;i++)
if(student[i].math<60)
printf("%s不及格,成绩为=%d\n",student[i].name,
student[i].math);
for(i=0;i<MAX;i++)
sum+=student[i].math;
printf("\n平均成绩=%.2f\n",(float)sum/MAX);
system("pause");
return 0;
}
※ 编辑: elohacp4 (114.45.159.145), 04/26/2015 22:16:26
作者: MOONRAKER (㊣牛鹤鳗毛人)   2015-04-26 22:38:00
他就是要你把所有student[i]都改成*(student+?)而已
楼主: elohacp4 (Liou)   2015-04-27 21:33:00
谢谢^_^
作者: MOONRAKER (㊣牛鹤鳗毛人)   2015-04-27 21:36:00
:O 你不会真的打 ? 吧
楼主: elohacp4 (Liou)   2015-04-27 22:00:00
?改成[i]是这样子对吧
作者: MOONRAKER (㊣牛鹤鳗毛人)   2015-04-28 08:44:00
不对。你用电脑执行看结果最快。
楼主: elohacp4 (Liou)   2015-04-28 09:40:00
对阿,我改成*(student+[i])可以执行,结果也都正确阿
作者: MOONRAKER (㊣牛鹤鳗毛人)   2015-04-28 10:25:00
这样根本通不过编译 那牌compiler可以让你过的
楼主: elohacp4 (Liou)   2015-04-28 20:13:00
奇怪,怎么又不能执行了....好啦改成(ptr+i)->就可以啦!!!

Links booklink

Contact Us: admin [ a t ] ucptt.com