C语言经典数学题:桌椅价格 C/C-Like


问题:已知一张桌子的价钱是一张椅子的10倍,又知一张桌子比一张椅子贵288元,那么一张桌子和一张椅子分别是多少元?

<-------------------------------------------------->

以下是C语言实现代码:

#include<stdio.h>
<-------------------------------------------------->
//这个方法用于计算所得结果,这里所有的值都采取float进行储存,这可以得到更准确的效果
/*读者可以尝试将float切换成int,这样我们会发现结果并不是320和32,而是319和31,这样的条件_
*_满足了相差288的需求但却并不是相差10倍,这是因为计算机是采用二进制进行计算的,采用int保_
*_存计算结果包含小数的值会造成精度丢失,这就是采用float的原因。
*/
<-------------------------------------------------->
void price_Operate(float MULTIPLE,float MULTIPLY){
<-------------------------------------------------->
//因为差值是288,将初值设为288既可以避免多写一条判断是否大于288的if语句_
//_也可以让while少循环288次,因为我们需要的结果总是大于等于0的
//也许你会告诉我CPU如此强大,288次循环不算什么,但速度永远是C程序员的骄傲
//我有朋友喜欢把大量数据写入循环,他们认为这是必要的,而这种情况多288次往往是很糟糕的 
<-------------------------------------------------->
float price_Table = 288.0;
 while (1){    
 price_Table++;    
 if (price_Table / MULTIPLE == price_Table - MULTIPLY){   
 break;  
 }
 }
<-------------------------------------------------->
//我的C编译器是强制我格式化输出字符的,这样可以保证输出结果的可靠性
//%.1f代表float的值精确到小数点后一位,当然直接输出会发现多个0后边有一个不符合数学的数值_
//_那是因为计算机用二进制进行计算,在数值转换时会有偏差,当然我们可以用精确位数的方式来避_
//_免用户看到这些,当然这不是语言的BUG,不过这确实让很多开发者很头疼(精度问题)
<-------------------------------------------------->
 printf("The price of table is:%.1f\n",price_Table); 
 printf("The price of chair is:%.1f\n",price_Table / MULTIPLE);
}
void main(void){
<-------------------------------------------------->
 //这两个常量分别保存了两者之间的倍数和差值
<-------------------------------------------------->
 const float MULTIPLE = 10.0; const float MULTIPLY = 288.0;
<-------------------------------------------------->
//调用计算的函数
<-------------------------------------------------->
 price_Operate(MULTIPLE,MULTIPLY);
}
<-------------------------------------------------->
//我在附件提供了已完成的C语言代码,读者可以拿去直接编译


上传的附件:
  • TEST.c (大小:478B,下载次数:0)
签名:更多新的知识在那些追求者的信仰下闪耀着光!
最新回复 (0)
    • 代码信条-CodeCreed
      2
        立即登录 立即注册 QQ登录
返回
发新帖

Processed Time:0.13156819343567

  • 0.0002 SELECT * FROM bbs_session WHERE `sid`='9ujiub9tr7016fu7rjcd14ltig' LIMIT 1
  • 0.0001 SELECT * FROM bbs_cache WHERE `k`='bbs_grouplist' LIMIT 1
  • 0.0002 SELECT * FROM bbs_cache WHERE `k`='bbs_forumlist' LIMIT 1
  • 0.0001 SELECT * FROM bbs_cache WHERE `k`='bbs_runtime' LIMIT 1
  • 0.0001 SELECT * FROM bbs_cache WHERE `k`='bbs_setting' LIMIT 1
  • 0.0001 SELECT * FROM bbs_kv WHERE `k`='setting' LIMIT 1
  • 0.0002 SELECT * FROM bbs_thread WHERE `tid`=37 LIMIT 1
  • 0.0001 SELECT * FROM bbs_user WHERE `uid`=17 LIMIT 1
  • 0.0002 SELECT * FROM bbs_post WHERE `tid`=37 ORDER BY `pid` ASC LIMIT 0,100
  • 0.0001 SELECT * FROM bbs_thread WHERE `tid`='37' LIMIT 1
  • 0.0001 SELECT * FROM bbs_attach WHERE `pid`='41' LIMIT 0,1000
  • 0.0001 SELECT * FROM bbs_kv WHERE `k`='mobile_setting' LIMIT 1
  • [0.0002]UPDATE LOW_PRIORITY `bbs_thread` SET views=views+1 WHERE tid='37'
  • 0.0003 SELECT * FROM bbs_kv WHERE `k`='my_sign' LIMIT 1
  • 0.0005 SELECT * FROM bbs_git_tags_thread WHERE `tid`=37 LIMIT 0,12
  • 0.0001 SELECT * FROM bbs_haya_favorite WHERE `uid`='' AND `tid`=37 LIMIT 0,10
  • 0.0007 SELECT * FROM bbs_cache WHERE `k`='bbs_tagCloud' LIMIT 1
  • 0.0003 SELECT * FROM bbs_thread WHERE `uid`='17' ORDER BY `lastpid` DESC LIMIT 0,6
_REQUEST:
Array
(
    [thread-37_htm] => 
    [0] => thread
    [1] => 37
)
_SESSION:
Array
(
    [fid] => 1
)
首页
开发
源码
运维
我的