| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 808 人关注过本帖
标题:刚学C语言的新手 有个疑问 忘大家别笑话
只看楼主 加入收藏
y41699060
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2011-5-8
结帖率:66.67%
收藏
 问题点数:0 回复次数:9 
刚学C语言的新手 有个疑问 忘大家别笑话
在看[C语言入门经典(第四版)]纯自学  才学到第2章不远  书里面有道计算程序如下:
/* program 2.8 calculations on a table */
#include <stdio.h>

int main(void)
{
   float radius = 0.0f;
   float diameter = 0.0f;
   float circumference = 0.0f;
   float area = 0.0f;
   float pi = 3.14159265f;

   printf("input the diameter of the table:");
   scanf("%f",&diameter);
   radius = diameter/2.0f;
   circumference = 2.0f*pi*radius;
   area = pi*radius*radius;
   printf("\nthe circumference is %.2f",circumference);
   printf("\nthe area is %.2f\n",area);
   return 0;
}
  这个程序输出如下:
input the diameter of the table: 6

the circumference is 18.85
the area is 28.27
以上这些是书上写的  我已经核对很多次了 自己绝对没输错
可我运行这个程序只有一段:
input the diameter of the table:

我用的是XP系统 编译器用的是WIN-TC
有几点我不懂 在定义diameter(直径)的时候 书上并没有给出具体数据 可以说除了圆周率以外的所有数据都没给 那电脑是怎么计算这道题的 从最后执行出的结果来看 scanf("%f",&diameter) 是随机赋予了diameter=6的数据么?
搜索更多相关主题的帖子: C语言 
2011-05-08 21:23
唯我独魔
Rank: 8Rank: 8
等 级:蝙蝠侠
帖 子:176
专家分:782
注 册:2011-4-13
收藏
得分:0 
这个6是你输进去的,你输个6,然后回车一下
2011-05-08 21:28
y41699060
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2011-5-8
收藏
得分:0 
不行 我试过了 把float diameter = 0.0f;改成float diameter = 6.0f; 运行结果一样会是
input the diameter of the table: 后面就没了   因为这段话里有个句子scanf("%f",&diameter);
 是刚接触到 而且书里还没解释的句子 可以说解释了 但解释的我还是看不懂  要想运行结果变成书上写的 除了自己添加6以外 scanf("%f",&diameter);这句话要改成 printf("%.0f",diameter);但书上的句子必然有他的含义  我就是不懂 所以才来问
2011-05-08 21:36
丶静
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2011-5-8
收藏
得分:0 
这个 对于我来说 真难!我当时把这样的题目放弃了
2011-05-08 21:48
BYSF_XF
Rank: 2
等 级:论坛游民
帖 子:89
专家分:75
注 册:2011-4-25
收藏
得分:0 
scanf()就是要求从键盘输入的
2011-05-08 22:19
zjl01223
Rank: 2
等 级:论坛游民
帖 子:42
专家分:90
注 册:2011-4-21
收藏
得分:0 
scanf("%f",&diameter) //*从输入设备(如键盘)输入直径(如6),按回车*//
printf("%.0f",diameter);//*输出直径(系统自动输出)*//
2011-05-08 22:19
xiangqiu1986
Rank: 2
等 级:论坛游民
帖 子:79
专家分:95
注 册:2011-5-5
收藏
得分:0 
应该是软件问题!我用C-Free运行就一点问题都没有,你可以试试C-Free这个软件!

学无止境!
2011-05-08 22:43
微笑的鱼与我
Rank: 1
等 级:新手上路
帖 子:7
专家分:5
注 册:2011-5-7
收藏
得分:0 
#include <stdio.h>

int main(void)
{
   float radius;
   float diameter ;
   float circumference ;
   float area ;
   float pi = 3.14159265f;

   printf("input the diameter of the table:");
   scanf("%f",&diameter);
   radius = diameter/2.0f;
   circumference = 2.0f*pi*radius;
   area = pi*radius*radius;
   printf("\nthe circumference is %.2f",circumference);
   printf("\nthe area is %.2f\n",area);
   printf("\nthe radius is %.2f\n",radius);
   getch();
   return 0;
}其中6是scanf()输进去的额。
2011-05-08 22:56
y41699060
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2011-5-8
收藏
得分:0 
谢谢!! 虽然各位讲的很详细了 但我还是看了很一会才回过神来!! 远来弹出的DOS框里是可以打字进去的! 第1次编写这样的程序  一直都是执行程序看结果的 突然来个这样的 书上也没写很清楚 现在终于搞懂了 谢谢!!
2011-05-08 23:49
JCchan
Rank: 2
等 级:论坛游民
帖 子:44
专家分:73
注 册:2010-6-2
收藏
得分:0 
楼主用的TC是不是窗口版的,英文版的那种?我也是用这个,我也调了一下,不过,好像没有成功.找问题...

能忍受多久,关键在于看待的心态>..<天下大事,由我定夺
2011-05-08 23:54
快速回复:刚学C语言的新手 有个疑问 忘大家别笑话
数据加载中...
 
   



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

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