1:你A图中循环条件为i<50,N(不成立)时候返回到输出ni和gi,Y(成立)时候,Y归1了,然后输出g>=80的学生学号和成绩。此时你想下如果i=2,是不是也满足你的Y(也就是Y),那么就直接开始后续的输出动作了,你怎么继续输入后面i=3到i=50的学生的成绩呢?你是想先输入1个,然后就判断是否满足g>=80,然后再进入第二次输入吗?这样你上面那个i<50的目的又是什么。总之你的A图逻辑有点混乱。你仔细考虑下看看。
就是说你A图中循环条件和Y,N的搭配不合适。要么把i<50改了,要么把Y和N对调;
不知道我说这么多你明白没,一句话,当i<=50的时候应该是继续输入ni和gi;当i>50的时候说明50个学生的成绩输入完毕了,可以筛选成绩g>=80的学生信息输出了。这句简单的应该明白了吧
2:另外不管A图还是B图你的输出环节在哪里?都没写吧?A图中有两个输入,我估计你下面那个输入应该是输出,是不是写错了?
至于B图这样写不是不可以,就是不同于A,C图中把所有50个学生成绩都先输入(不管是不是>=80分),然后从1-50开始判断成绩,然后输出符合条件的;
B图呢,是先判断成绩g是否>=80,是才输入(此时你可以直接输出了),否就i++,不输入。B图是人工在输入成绩之前就判断了分数是否满足g>=80,
而A,C图呢是不判断,全部输入50个成绩,然后程序自己判断条件然后输出。
3:最后总结下吧,你的A,B两图都不对,问题上面也说了,你再仔细看看。你提供的C图,很清晰的两部分,上半部是输入50个成绩,后半部是i归1,从n1开始判断g1是否>=80,符合条件就输出,否则i+1,再判断g2是否符合条件,是就输出,否就继续i++,直到i>50后退出。
[此贴子已经被作者于2016-9-8 08:59编辑过]