黑色晚礼服 发表于 2017-5-25 10:21:40

为什么只能输出一组值呢?

#include <stdio.h>
#include<windows.h>
/*当father=0,20,…,300时,打印华氏温度与摄氏温度对照表;浮点数版本*/
main()
{
    float fahr,celsius;
    int lower,upper,step;
    lower=0;/*温度表的下限*/
        upper=300;/*温度表的上限*/
        step=20;/*步长*/
       
        fahr=lower;
        while (fahr<=upper) {
                celsius=(5.0/9.0)*(fahr-32.0);
                printf("%3.0f %6.1f\n",fahr,celsius);
                fahr=fahr+step;
                system("pause");
                return 0;                }
}

無聊 发表于 2017-5-26 13:37:30

因为你代码
system("pause");//执行这句之后会暂停需要按任意键继续
return 0;   //主要是这句,执行之后main函数就结束了

無聊 发表于 2017-5-26 13:38:47

return 0;这句放到右方括弧(})外面,也就是while循环的外面

黑色晚礼服 发表于 2017-5-26 16:21:40

無聊 发表于 2017-5-26 13:38
return 0;这句放到右方括弧(})外面,也就是while循环的外面

0f
20f
40f
60f
80f
100f
120f
140f
160f
180f
200f
220f
240f
260f
280f
300f

黑色晚礼服 发表于 2017-5-26 16:22:47

黑色晚礼服 发表于 2017-5-26 16:21


怎么成这样了{:10_266:}
#include <stdio.h>
#include<windows.h>
/*当father=0,20,…,300时,打印华氏温度与摄氏温度对照表;浮点数版本*/
main()
{
    float fahr, celsius;
    int   lower, upper, step;
    lower = 0;   /*温度表的下限*/
        upper = 300; /*温度表的上限*/
        step= 20;/*步长*/
       
        fahr=lower;
        while (fahr <= upper)
        {
                celsius = ( 5.0 / 9.0 ) * ( fahr - 32.0 );
                printf( "%3.0f %6.1 f\n", fahr, celsius );
                fahr    =   fahr + step;
        }
        return 0 ;       
}

無聊 发表于 2017-5-27 02:31:09

printf( "%3.0f %6.1 f\n", fahr, celsius );    //这句,6.1和f之间多了个空格
页: [1]
查看完整版本: 为什么只能输出一组值呢?