TEL:400-8793-956
当前位置:程序、服务器

C ++问题

提问者: 近期获赞: 浏览人数: 发布时间:2020-12-23 14:07:43

 问:目标:

 
输入学生的记录。显示整个记录。显示最年轻和最年长的学生的姓名。
 
我在实现第三个目标时遇到问题:如果我输入3或5个条目,结果很好,但是一旦我输入5或10个条目,就会出现年龄最大的学生姓名,但是最小的名字却没有。
 
请尽快帮助。
 
答:浏览完您的代码后,我发现在“ checkage()”函数内部,您已将变量“最老”和“最年轻”初始化为“ age [0]”(即,您在第0个索引处的元素是什么)。在两个for循环中,您要检查条件
if(age [i]>最年长)和if(age [i] <最年轻),
如果您的年龄“最年轻”或“最年长” ,则这些条件的计算结果为false在第0个索引处(age [0])(因为(a <a)或(a> a)始终为false,即整数不能小于或大于其自身)。因此,“ e_name”和“ y_name”将永远不会在这种情况下初始化。在这种情况下,您将无法在其中打印值。
 
为了克服这个问题,您可以先将“ e_name”和“ y_name”初始化为name [0]。例如:
e_name = name [0];
y_name =名称[0];
 
或者,可以在if条件内检查“ <=“和”> =“,而不是“ <”和“”>”。
 
上一篇: 如何验证字符串的字符以通过移动键盘键入的字符?
下一篇: 想要使用自定义fb共享按钮