| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 565 人关注过本帖
标题:一点小问题,怎么也看不出哪里错了。。求帮助
只看楼主 加入收藏
旺仔。。521
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2012-10-9
结帖率:50%
收藏
已结贴  问题点数:15 回复次数:5 
一点小问题,怎么也看不出哪里错了。。求帮助
原题。。。。。。。。。。。。。。。。。。。
题目描述
已知华氏温度F,转换为摄氏温度C的公式为C=(F-32)*5/9。

输出给定范围(从low到high)和步长(step)的摄氏——华氏温度转换表

输入
第1行若为“C->F”表示输出:摄氏——华氏温度转换表,若为“F->C”表示输出:华氏——摄氏温度转换表。

第2、3行为两个整数:high和low,其值在-100到200之间。

第4行为step,step精确到小数点后1位。

输出
输出第一行为C和F,分别表示摄氏和华氏,与小数点对齐。若输出摄氏——华氏温度转换表,则C在前、F在后;反之,则输出华氏——摄氏温度转换表。

从输出的第2行开始为从温度low到温度high(包括low和high)的转换表,温度输出精确到小数点后1位,表格被“->”分为两个宽度相同的部分,其它的测试样例也不会给出超出宽度的数据,格式详见sample。

样例输入
C->F
-10
40
2.5
样例输出
   C  ->    F
-10.0 ->  14.0
 -7.5 ->  18.5
 -5.0 ->  23.0
 -2.5 ->  27.5
  0.0 ->  32.0
  2.5 ->  36.5
  5.0 ->  41.0
  7.5 ->  45.5
 10.0 ->  50.0
 12.5 ->  54.5
 15.0 ->  59.0
 17.5 ->  63.5
 20.0 ->  68.0
 22.5 ->  72.5
 25.0 ->  77.0
 27.5 ->  81.5
 30.0 ->  86.0
 32.5 ->  90.5
 35.0 ->  95.0
 37.5 ->  99.5
 40.0 -> 104.0

提示

我的。。。。。。。。。。。。。。。。。。
#include <stdio.h>
#include <stdlib.h>

int main()
{

    char a,b,c,d;
    double e,f,m,n,h,i;
    scanf("%c%c%c%c",&a,&b,&c,&d);
    scanf("%lf",&m);
    scanf("%lf",&n);
    scanf("%lf",&h);
    if(a=='C')
    {
        printf("   C  ->    F\n");
        for(i=m;i<=n;i=h+i)
        {
            f=m*9/5+32;
            printf("%5.1lf ->  %5.1lf\n",i,f);
        }
    }
    else
     {
         printf("   F  ->    C\n");
         for(i=m;i<=n;i+=h)
        {
            e=(m-32)*5/9;
            printf("%5.1lf ->  %5.1lf\n",i,e);

        }

     }

    return 0;
}
我的输出。。。。。。。。。。。。。。。。。。
   C  ->    F
-10.0 ->  14.0
 -7.5 ->  14.0
 -5.0 ->  14.0
 -2.5 ->  14.0
  0.0 ->  14.0
  2.5 ->  14.0
  5.0 ->  14.0
  7.5 ->  14.0
 10.0 ->  14.0
 12.5 ->  14.0
 15.0 ->  14.0
 17.5 ->  14.0
 20.0 ->  14.0
 22.5 ->  14.0
 25.0 ->  14.0
 27.5 ->  14.0
 30.0 ->  14.0
 32.5 ->  14.0
 35.0 ->  14.0
 37.5 ->  14.0
 40.0 ->  14.0
搜索更多相关主题的帖子: 华氏温度 小数点 
2013-04-26 19:14
旺仔。。521
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2012-10-9
收藏
得分:0 
就是右边,,,怎么也看不出我哪里错了。。
2013-04-26 19:15
Ryker
Rank: 6Rank: 6
等 级:侠之大者
威 望:1
帖 子:145
专家分:420
注 册:2013-2-19
收藏
得分:4 
for(i=m;i<=n;i=h+i)
        {
            f=m*9/5+32;


m 的值没变过... 应该是把 f = m * 9 / 5 + 32 改为 f = i * 9 / 5 + 32;
2013-04-26 20:57
邓士林
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:淮河河畔
等 级:贵宾
威 望:61
帖 子:2392
专家分:13384
注 册:2013-3-3
收藏
得分:4 
if(a=='C')
    {
        printf("   C  ->    F\n");
        for(i=m;i<=n;i=h+i)
        {
            f=i*9/5+32;
            printf("%5.1lf ->  %5.1lf\n",i,f);
        }
    }
    else
     {
         printf("   F  ->    C\n");
         for(i=m;i<=n;i+=h)
        {
            e=(i-32)*5/9;
            printf("%5.1lf ->  %5.1lf\n",i,e);

        }

     }
两个for循环中的变量应该是i,不是m

Maybe
2013-04-26 23:02
czzdcn123
Rank: 7Rank: 7Rank: 7
来 自:江西
等 级:黑侠
威 望:3
帖 子:258
专家分:510
注 册:2013-3-7
收藏
得分:4 
楼上正解
2013-04-26 23:04
tremere
Rank: 6Rank: 6
来 自:火星
等 级:侠之大者
帖 子:223
专家分:432
注 册:2013-3-11
收藏
得分:4 
f=m*9/5+32;

极品菜鸟,来学习啦,啦啦啦啦啦啦啦。。。
2013-04-27 08:13
快速回复:一点小问题,怎么也看不出哪里错了。。求帮助
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019857 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved