|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
- #include <stdio.h>
- #include <windows.h>
- int main()
- {
- int k;
- float T,hs,cs;
- char SF;
- printf("请输入温度:");
- scanf("%f",&T);
- printf("输入的是华氏温度?是:Y,不是:N\n");
- Sleep(500);
- L: scanf("%c",&SF);
- if (SF == 'Y')
- {
- k = 1;
- }
- else if (SF == 'N')
- {
- k = 2;
- }
- else
- {
- printf("你的输入不正确,请重新输入,Y or N");
- goto L;
- }
- switch (k)
- {
- case 1:
- {
- cs = (T - 32) * 5 / 9;
- printf("你输入的华氏温度转成摄氏温度为:%.2f\n",cs);
- break;
- }
- case 2:
- {
- hs = T * 9 / 5 + 32;
- printf("你输入的摄氏温度转成华氏温度为:%0.2f\n",hs);
- break;
- }
- }
- }
复制代码
程序运行都正常,只是首次运行时第十三行被跳过,为什么会跳过?
- #include <stdio.h>
- #include <windows.h>
- int main()
- {
- int k;
- float T,hs,cs;
- char SF;
- printf("请输入温度:");
- scanf("%f",&T);
- getchar(); // 过滤掉换行
- printf("输入的是华氏温度?是:Y,不是:N\n");
- Sleep(500);
- L: scanf("%c",&SF);
- if (SF == 'Y')
- {
- k = 1;
- }
- else if (SF == 'N')
- {
- k = 2;
- }
- else
- {
- printf("你的输入不正确,请重新输入,Y or N");
- goto L;
- }
- switch (k)
- {
- case 1:
- {
- cs = (T - 32) * 5 / 9;
- printf("你输入的华氏温度转成摄氏温度为:%.2f\n",cs);
- break;
- }
- case 2:
- {
- hs = T * 9 / 5 + 32;
- printf("你输入的摄氏温度转成华氏温度为:%0.2f\n",hs);
- break;
- }
- }
- }
复制代码
|
|