| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1158 人关注过本帖
标题:关于C语言基础问题了里面的一个问题
只看楼主 加入收藏
keilayi
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2016-5-29
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:4 
关于C语言基础问题了里面的一个问题
编了一个程序,然后看了一下和参考程序基本一致,可是在VC上运行,输入第二个数就直接刷屏了,不知道为何求解答。附带程序。
#include<stdio.h>
#define CM_VAL_FEET 0.032808339
#define FEET_VAL_INC 12
main(void)
{  
   float cm,t,t1,t2;
   float feets,inchs;
   printf("inter a height in centimeters :");
   scanf("%f",&cm);
     while(cm>0)
     {
         t=cm*CM_VAL_FEET;
         t1=t;
         feets=int(t1);
         t2=t-feets;
         inchs=t2*FEET_VAL_INC;
         printf("%.1f cm = %.0f feets,%.1f inchs",cm,feets,inchs);
         printf("enter a height in centimeters(<=0 quit) :");
         scanf("%.1f",&cm);
     }
     printf("bye/n");
     return 0;
}
图片附件: 游客没有浏览图片的权限,请 登录注册
这个是原题目
搜索更多相关主题的帖子: C语言 include 
2016-05-29 11:36
keilayi
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2016-5-29
收藏
得分:0 
#include<stdio.h>
#define CM_VAL_FEET 0.032808339//一厘米的英尺值
#define FEET_VAL_INC 12//一英尺的英寸值
main(void)
{  
   float cm,t,t1,t2;
   float feets,inchs;
   printf("inter a height in centimeters :");
   scanf("%f",&cm);
     while(cm>0)
     {
         t=cm*CM_VAL_FEET;//输入的厘米数折合多少英尺
         t1=t;
         feets=int(t1);//强制转换类型,只保留整数部分
         t2=t-feets;//小数部分的英尺值
         inchs=t2*FEET_VAL_INC;//将小数部分英尺转化为英寸
         printf("%.1f cm = %.0f feets,%.1f inchs",cm,feets,inchs);//输入的厘米折合多少英寸,英尺
         printf("enter a height in centimeters(<=0 quit) :");//键盘再次输入一个厘米值
         scanf("%.1f",&cm);
     }
     printf("bye/n");
     return 0;
}
程序注解,求路过大神给出解释,第一个值我输入182可以输出5feets,11.7inch,再从键盘输入直接开始刷屏
2016-05-29 11:59
alice_usnet
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:18
帖 子:370
专家分:2020
注 册:2016-3-7
收藏
得分:10 
scanf("%.lf",&cm);

scanf("%f",&cm);

未佩好剑,转身便已是江湖
2016-05-29 12:25
kii
Rank: 2
等 级:论坛游民
帖 子:4
专家分:11
注 册:2016-5-26
收藏
得分:5 
while 循环里的为什么是 scanf("%.1f",&cm);  而不是和上面一样的  scanf("%f",&cm); 啊???
我记得好像  %.1f  是用在字符串字符里的精度显示啊,,,

我也是新手
2016-05-29 12:52
kii
Rank: 2
等 级:论坛游民
帖 子:4
专家分:11
注 册:2016-5-26
收藏
得分:5 
回复 4楼 kii
#include<stdio.h>
#define CM_VAL_FEET 0.032808339//一厘米的英尺值
#define FEET_VAL_INC 12//一英尺的英寸值
main(void)
{  
   float cm,t,t1,t2;
   float feets,inchs;
   printf("inter a height in centimeters :");
   scanf("%f",&cm);
     while(cm>0)
     {
         t=cm*CM_VAL_FEET;//输入的厘米数折合多少英尺
         t1=t;
         feets=(int)t1;//强制转换类型,只保留整数部分
         t2=t-feets;//小数部分的英尺值
         inchs=t2*FEET_VAL_INC;//将小数部分英尺转化为英寸
         printf("%.1f cm = %.0f feets,%.1f inchs",cm,feets,inchs);//输入的厘米折合多少英寸,英尺
         printf("\n\nenter a height in centimeters(<=0 quit) :");//键盘再次输入一个厘米值
         scanf("%f",&cm);
     }
     printf("bye/n");
     return 0;
}

我发现scanf函数一定不能用精度显示的 %.1f 什么的
2016-05-29 13:00
快速回复:关于C语言基础问题了里面的一个问题
数据加载中...
 
   



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

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