搜索
查看: 1106|回复: 8
打印 上一主题 下一主题

请问第92页的动手试一试如何解

[复制链接]
楼主
发表于 2014-1-24 21:08:03 | 显示全部楼层
以下是本人写的代码


  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <windows.h>
  4. int main()
  5. {
  6. int min,sec;
  7. printf("请输入倒计时时间(以M:S格式):");
  8. a:;
  9. scanf("%d:%d",&min,&sec);
  10. while(sec<0&&min>0)//进行时间格式的规范
  11. {
  12. min--;
  13. sec+=60;
  14. }
  15. if(sec<0||min<0)//进行时间有效性检查
  16. {
  17. printf("输入的时间不正确,请重新输入:");
  18. goto a;//返回输入处
  19. }
  20. for(;sec>=0&&min>=0;--sec)
  21. {
  22. if(sec<0)//保持时间格式正确
  23. {
  24. min-=1;
  25. sec+=60;
  26. }
  27. system("cls");
  28. printf("%02d:%02d",min,sec);//这句是关键,后面解释
  29. Sleep(1000);
  30. }
  31. system("cls");
  32. printf("时间到!\n\a");//提示用户时间到,同时响铃
  33. system("pause");
  34. return 0;
  35. }
复制代码



printf("%02d:%02d",min,sec);
这句在输出min和sec数据时,由于利用了格式控制符%02d,把输出数据的宽度设为2位,并把不够的位数用0补足。

PS:使用\a时电脑发出的响铃声有点刺耳,记得把声音调轻点{:soso_e113:}。

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

广播台
特别关注
快速回复 返回顶部 返回列表