求教一个c++程序的运行错误
菜鸟一个,望大家给给意见。
- C/C++ code
#include<iostream>#include<cmath>using namespace std;static int time1 =0;static int time2=0;static void input(){ int a,b; cout<<"请输入时间1"<<endl; cin>>"hour">>a>>"minute">>b; time1=60*a+b; cout<<"请输入时间2"<<endl; cin>>"hour">>a>>"minute">>b; time2=a*60+b;}static void output(){ cout<<"离十二点最近的时间是"<<(sqrt(time1-12*60)>sqrt(time2-12*60)?time2:time1)<<endl; }int main(){ for(int c=1;c<=20;c++) { input(); output(); int ha; cout<<"想继续,请按1,否者将退出"<<endl; cin>>ha; if(ha!=1) c=21; } return 0;}运行时出现错误(当你在输入第一个时间的时候)
[解决办法]
cin>>"hour">>a>>"minute">>b;
换成
cout<<"hour:";
cin>>a;
cout<<"minute:";
cin>>b;
吧?
楼主你弄得这个time看不懂 是不是光输出分钟?
(sqrt(time1-12*60)>sqrt(time2-12*6011)?time2:time1)
这个不对把?应该求绝对值吧?
我输入了 11 11 和 11 12 它显示11 11离12点比较近