你这个程序之所以不对,是因为有三个个错误。
第一个错误是e=c-a和f=d-b两个运算缺少了条件,e=c-a和f=d-b这两个运算要在输入数据者握袜时,后者的小时数大于前者的小时数的时候,才有意义;
第二个错误是选择循环结构的条件不应该是f<0,这道题目里f表示分钟数,你写了f<0,也就表示分钟数小于0,才执行条件语句,这样是没有意义的;
第首激三个错误是用不着多定义g,h这两个变量。
你可以这样改正,使用if-else的条件选择语句,其中if(皮握)内的表达式可以设置为d=<b,后面的语句为“e=c-a;f=d-b;”,然后else 的语句设置为“e=c-a-1;f=d+60-b“,如下图所示。
注意,在输入代码的过程中,需要在全英文状态下输入,否则程序会报错。
第一种方法会直接终止整个程序,第二个方法会终止当前的函数,第三个方法不会终止函数或者是程序。相比较而言,第一种方法因为会直接退出程序,在调试过程中会更方便些,便于找到错误后立刻修改。而在程序的正常运行过程中,由于错误一般不是灾难性的,可能是由于不合法的输入等原因造成的,所以适用第二第三种方法处理错误,可以通过提示用户重新输入或者是其他的方法解决错误,使程序正常运行。第二种和第三种方法也存在一定的区别。通常函数都会需要返回值,对于不需要返回值的函数也可以设定返回值,所以通过返回值来确定函数执行是否出错相对来说更加方便。但这种方法有显而易见的缺点就是对正常返回值和非正常余顷返回值的区分有时候会比较麻烦,这个时候使用第三种解决方法就会简单些。第三种方法局余适用所有函数(自己编写的),但是实现起来桐毁滚不只需要多申请一个标志变量,实现起来还比较麻烦。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)