C语言(数组问题),求大佬指教!
#include<stdio.h>#definenumber5intmain(void){inti;intsnum=0;inttensu[number];intsuccs...
#include <stdio.h>
#define number 5
int main(void)
{
int i;
int snum=0;
int tensu[number];
int succs[number];
puts("请输入学生的分数:");
for(i=0;i<number;i++){
printf("%2d号:",i+1);
scanf("%d",&tensu[i]);
if(tensu[i]>=60){
succs[snum++]=i;
}
}
putchar('\n');
puts("及格学生一览表:");
puts("-----------------");
for(i=0;i<snum;i++){
printf("%3d号(%4d分)\n",succs[i]+1,tensu[succs[i]]);
}
putchar('\n');
return 0;
}
------------------------------------------------------------------------------------------------------------------------------------
问题1:succs[snum++]=i;这个代码的作用是什么?为什么snum++呢?而且还要把i的值赋给它?
问题2:第二个for语句的具体功能是什么?
求大佬指教!
------------------------------------------------------------------------------------------------------------------------------------- 展开
#define number 5
int main(void)
{
int i;
int snum=0;
int tensu[number];
int succs[number];
puts("请输入学生的分数:");
for(i=0;i<number;i++){
printf("%2d号:",i+1);
scanf("%d",&tensu[i]);
if(tensu[i]>=60){
succs[snum++]=i;
}
}
putchar('\n');
puts("及格学生一览表:");
puts("-----------------");
for(i=0;i<snum;i++){
printf("%3d号(%4d分)\n",succs[i]+1,tensu[succs[i]]);
}
putchar('\n');
return 0;
}
------------------------------------------------------------------------------------------------------------------------------------
问题1:succs[snum++]=i;这个代码的作用是什么?为什么snum++呢?而且还要把i的值赋给它?
问题2:第二个for语句的具体功能是什么?
求大佬指教!
------------------------------------------------------------------------------------------------------------------------------------- 展开
1个回答
展开全部
第一个++是数组中自动移到下一个值
for循环是在满足一定的条件时,重复执行同一个步骤
for循环是在满足一定的条件时,重复执行同一个步骤
追问
那请问为什么这里snum要++呢?而且还要把i的值赋给它?大佬能详细说一下吗?
追答
for(i=0;i<number;i++){
printf("%2d号:",i+1);
scanf("%d",&tensu[i]);
if(tensu[i]>=60){
succs[snum++]=i;
}
}
这部分意思是循环输入5个数,每次输入一个,就判断这个数是否大于等于60,也就是是否及格了,tensu[i]这个数组放的是这5个数,succs[]这个数组就是用来放这五个数中及格的数在tensu这个数组中的位置,比如说,第一个数是68,及格了,那succs[0]=0;(此时的i=0,snum=0;)说明succs数组的第一个数记录的值就是0,而0,这个数在数组tensu中的意义是这个数组的第一个值的下标,这个执行完snumm就自加了1,变成了1,在输入第二个数,假如输入了50,此时i=2,没及格,就不用记录进去了,i+1=3了,在输入一个数,比如80,又及格了,又要记录succs数组中的第2个数值,那succs[1]=2,这里的2就是数组tensu中的第三个数,它的下标是2,以此类推
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询