一道温度转换的题在输出格式上错了,不知道怎么弄

问题遇到的现象和发生背景

输出格式:
第一行输出以下内容,中间有一个空格。

fahr celsius
接着每行输出一个华氏温度fahr(整型,占据4个字符宽度,靠右对齐)与一个摄氏温度celsius(实型,占据6个字符宽度,靠右对齐,保留1位小数)。

问题相关代码,请勿粘贴截图
        printf("fahr celsius\n");
        double cel;
        int fah = lower;
        while( fah <= upper )
        {
            cel = (double)5*(fah-32)/9;
            printf("\t%d\t%.1f\n",fah,cel);    //就是这里,不会按照题目要求的格式输出
            fah ++;
        }

运行结果及报错内容

输出格式不对

我的解答思路和尝试过的方法

用制表符好像不行

我想要达到的结果

输出示例
fahr celsius
31 -0.6
32 0.0
33 0.6

输出那行改为

printf("%4d%6.1lf\n", fah, cel);