十二楼 发表于 2020-8-4 18:07:10

S1E8 动动手第一题,我直接复制的甲鱼的代码,可是编译出来的没有数字,只有一行

0. 写一个华氏度到摄氏度的转换程序,用户输入华氏度,程序计算并输出对应的摄氏度
#include <stdio.h>

int main()
{
      float fah, cel;

      printf("请输入华氏度:");
      scanf("%f", &fah);

      cel = (fah - 32) * 5 / 9;
      printf("转换为摄氏度是:%.2f\n", cel);

      return 0;
}



这是我直接复制的,我编译完只有一行请输入华氏度:
这是怎么回事呢,想的我头疼也想不明白

风过无痕1989 发表于 2020-8-4 18:17:14

本帖最后由 风过无痕1989 于 2020-8-4 18:23 编辑

语句只有一行,没有错,若你需要多次,就要使用循环了,下面的程序是帮你设置了 6 次#include <stdio.h>

int main()
{
      int i;
      float fah, cel;
      for(i 1;i <= 6;i++)
       {
            printf("请输入华氏度:");
            scanf("%f", &fah);

            cel = (fah - 32) * 5 / 9;
            printf("转换为摄氏度是:%.2f\n", cel);
      }

      return 0;
}

baige 发表于 2020-8-4 18:32:59

本帖最后由 baige 于 2020-8-4 18:37 编辑

#include <stdio.h>

int main()
{
         float fah, cel;//定义浮点型变量 fah cel

         printf("请输入华氏度:"); // 往屏幕上输出请输入华氏度:也就是你所看到的 提示你输入一个数字
         scanf("%f", &fah);// 接收输入的数字 你没有输入程序就会一直停在那里

         cel = (fah - 32) * 5 / 9;// 计算
         printf("转换为摄氏度是:%.2f\n", cel);//输出结果

         return 0;
}
只有 printf("请输入华氏度:"); 会直接输出请 输入华氏度:出现在屏幕
当你输入数据时 printf("转换为摄氏度是:%.2f\n", cel);也会转换为对应的输出在屏幕
printf()是格式化输出,你看到的东西全部都是由他打印(输出)来的
当你有输入数字时才会打印 转换为摄氏度是: xxx

无所谓-浪 发表于 2020-8-5 15:26:00

你可能没有输入数字吧,输入数字后才会显示下一句结果。

十二楼 发表于 2020-8-6 21:06:46

无所谓-浪 发表于 2020-8-5 15:26
你可能没有输入数字吧,输入数字后才会显示下一句结果。

好滴谢谢呢

风过无痕1989 发表于 2020-8-9 23:48:51

本帖最后由 风过无痕1989 于 2020-8-9 23:50 编辑

当时回复你的,你没有选择最佳答案,看来不是你满意的。前两天我自己写了一个温度转换的程序,发给你参考:
#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;
                }
        }

}

页: [1]
查看完整版本: S1E8 动动手第一题,我直接复制的甲鱼的代码,可是编译出来的没有数字,只有一行