1、数组的遍历:查询成绩是59的学生,并且找到第一位的学生学号输出
普通方式,效率很低
int num = -1;
for(i=0;i<n;i++)
{
if(score[i] == grade)
{
num = i;
break;
}
}
if(num != -1)
printf("学生学号是: %d/n",num);
else
printf("没有此成绩的学生/n");
逆向思维,成绩在0~100之间,声明一个数组 int pointer[101],以此成绩的范围作为索引值,若成绩不存在,则
数组内容为 -1,不过此方法设计的前提是各种成绩都只能出现一次
for(i=0;i<=100;i++)
pointer[i] = -1;
for(i=0;i<10;i++)
{
index = score[i];
pointer[index] = i;
}
for(i=59;i<68;i++)
printf("数组元素:%d,内容为:%d/n,i,pointer[i]");