QQ登录

只需要一步,快速开始

 注册地址  找回密码
楼主: 蛋疼○▲○
打印 上一主题 下一主题

为什么我每次用C语言的pow函数算5的100次方,得出的结果都和课本的不一样?

[复制链接]
字体大小: 正常 放大

1

主题

6

听众

41

积分

升级  37.89%

  • TA的每日心情
    郁闷
    2013-10-10 09:59
  • 签到天数: 7 天

    [LV.3]偶尔看看II

    自我介绍
    学习C语言

    群组2013年数学建模国赛备

    跳转到指定楼层
    1#
    发表于 2013-8-12 10:14 |只看该作者 |倒序浏览
    |招呼Ta 关注Ta |邮箱已经成功绑定
    为什么我每次用C语言的pow函数算5的100次方,得出的结果都和课本的不一样?
      O- W# d( O: g3 T& f
    zan
    转播转播 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信

    937

    主题

    117

    听众

    3万

    积分

    升级  0%

  • TA的每日心情

    2020-10-25 11:55
  • 签到天数: 264 天

    [LV.8]以坛为家I

    自我介绍
    内蒙古大学计算机学院

    社区QQ达人 金点子奖 助人为乐奖 风雨历程奖

    群组2013年数学建模国赛备

    c语言中int型double型都有固定的大小, int型在vc中占4字节,double占8字节,所以表示的固定大小肯定会有问题。建议用数组移位表示的方法计算这么大的数
    回复

    使用道具 举报

    937

    主题

    117

    听众

    3万

    积分

    升级  0%

  • TA的每日心情

    2020-10-25 11:55
  • 签到天数: 264 天

    [LV.8]以坛为家I

    自我介绍
    内蒙古大学计算机学院

    社区QQ达人 金点子奖 助人为乐奖 风雨历程奖

    群组2013年数学建模国赛备

    回复

    使用道具 举报

    1

    主题

    6

    听众

    187

    积分

  • TA的每日心情
    慵懒
    2014-11-9 09:25
  • 签到天数: 72 天

    [LV.6]常住居民II

    自我介绍
    ......

    新人进步奖

    回复

    使用道具 举报

    0

    主题

    7

    听众

    160

    积分

    升级  30%

  • TA的每日心情
    无聊
    2014-11-17 18:43
  • 签到天数: 30 天

    [LV.5]常住居民I

    自我介绍
    12级大学学生
    回复

    使用道具 举报

    937

    主题

    117

    听众

    3万

    积分

    升级  0%

  • TA的每日心情

    2020-10-25 11:55
  • 签到天数: 264 天

    [LV.8]以坛为家I

    自我介绍
    内蒙古大学计算机学院

    社区QQ达人 金点子奖 助人为乐奖 风雨历程奖

    群组2013年数学建模国赛备

    xx372859523 发表于 2013-8-12 14:37
    * {* P0 ]: m5 o: d: l: ^. f7 j  v  `有源程序吗
    1. #include<stdio.h>. V; C, a+ f) k' W2 F# ~
    2. #define max_size 100000
      , Z, O2 v; Z2 ~' T
    3. #define pow_count 1000//次数
      1 B) X1 [4 B/ V! z1 ]& R3 T7 Q5 t- Y
    4. int a[max_size];  }7 ~+ `- d& O6 b! N- g( |
    5. void add_bite(int i): A1 k' o0 s\" @' D% {+ Q, P
    6. {0 V( A! a2 e0 o# _2 {/ m
    7.     if((a[i]+1)>10)  
      7 f; r6 n- W: E% d0 d
    8.     {
      & z  w! }, G2 a0 ]  {- G
    9.          a[i]=(a[i]+1)%10;6 N7 M- s# J7 X9 f
    10.          add_bite(i+1);
      3 E( l/ o: Q$ A
    11.      }
      4 S5 [  a) ~% ~8 L6 k2 L\" r
    12.     else+ R1 n) y2 m, p% C7 ?- E
    13.     {
      7 h9 Q5 g4 ^* c( V3 g4 R* W
    14.         a[i]+=1;. a( Z3 D! d7 P& ]! Q( h9 L
    15.     }: G+ ^6 X6 Z9 i, S/ V  e
    16. }
      7 L$ G; o: \4 R7 B: M& y) d
    17. void main(); o+ b1 H' @9 l# X1 {; X
    18. {   
      * I\" I+ m; {- \6 H
    19.     int sum,i,j;4 N) ?\" m* H. l: q/ D+ [- X9 t0 h2 M# u
    20.     a[0]=2;. O/ a9 i0 f( a. s# b
    21.     sum = 0;9 i/ t: f, l3 g- C. X6 t1 \! N. b% X( }
    22.     for(i=1;i<max_size;i++)9 o; [7 X! s; r3 U) \: j( W
    23.     {
      - ^' m) @/ q8 n* l, n
    24.         a[i] = 0;    # c. v9 _7 o9 Z. v+ C: S  M
    25.     }
      0 O3 ?5 x' b5 ~/ U/ d, \9 v1 A: d
    26.     for(i = 1;i<pow_count;i++)4 e/ P0 `7 u2 S\" p& z( @
    27.     {
      , e6 _' W( I, ]3 k& W# a+ B! V) d
    28.         for(j=0;j<max_size;j++)
      8 e' t* R- j8 Z% K
    29.         {) B6 n+ m! W! }$ J, Y; I. q: [
    30.             if(a[j]*5>=10)7 O4 P# C* K\" t1 e5 ]( z& p7 A
    31.             {
      ! M/ s9 ~# T4 t9 g
    32.                 a[j] = a[j]*5%10;( @& |2 ?. c# D
    33.                 add_bite(i+1);
      + j, B- [+ V7 q9 {
    34.             }
      ' S0 c* I% |$ l% O7 b/ ^
    35.             else, M) d7 R$ z( w/ t\" y( S; v* e
    36.             {
      / `\" d9 V' T' P
    37.                a[j]= a[j]*5;
      / T! r) n1 E  c5 m# V5 I! c( Y% x
    38.              }
      : ]! ]2 |\" a- b; k
    39.          }  
      4 ]& F\" B4 R: y( \; ^. b0 s
    40.     }   
      - K. R. O& T+ j. u# i' b, D1 {+ {
    41.     for(i=max_size;i>0;i--)
      ( B3 ]7 F$ X6 |1 d3 O' [
    42.     {
      1 V  h$ F2 j8 T6 W% y! ^% m) d: |
    43.         if(a[i]!=0) break;
      - R6 X1 w7 v, J  D
    44.     }
      5 {+ u  u8 M' H9 y
    45.     for(j=i;j>0;j--)
      ( K\" f5 ^3 K; c4 @4 T  M
    46.     {
      ' M0 n8 ]; y+ h2 F
    47.         sum++;
      - f2 X: U; O, b+ Y
    48.         printf("%d",a[j]);
      5 h- B' u* p9 o- N- o  e) T8 F+ F
    49.      }
      4 l* Q7 x  w5 C: W: V/ a9 s! T
    50.      printf("\n%d",sum);, D% ?& ], n2 R
    51. }
    复制代码
    回复

    使用道具 举报

    1

    主题

    6

    听众

    187

    积分

  • TA的每日心情
    慵懒
    2014-11-9 09:25
  • 签到天数: 72 天

    [LV.6]常住居民II

    自我介绍
    ......

    新人进步奖

    LZ考虑一件事:int定义变量是有范围的,5的100次方超出整型定义范围(32767好像),可能要试一下长整型 long int来定义sum。PS 5的100次方真心太大...

    点评

    wangzheng3056  所以应该用数据移位乘法解决范围问题  详情 回复 发表于 2013-8-15 22:01
    回复

    使用道具 举报

    937

    主题

    117

    听众

    3万

    积分

    升级  0%

  • TA的每日心情

    2020-10-25 11:55
  • 签到天数: 264 天

    [LV.8]以坛为家I

    自我介绍
    内蒙古大学计算机学院

    社区QQ达人 金点子奖 助人为乐奖 风雨历程奖

    群组2013年数学建模国赛备

    xx372859523 发表于 2013-8-15 18:47 / z3 |' l1 i- a4 c0 Y
    LZ考虑一件事:int定义变量是有范围的,5的100次方超出整型定义范围(32767好像),可能要试一下长整型 lon ...
    * G' f; R6 H4 o* w* L
    所以应该用数据移位乘法解决范围问题
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册地址

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

    关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

    手机版|Archiver| |繁體中文 手机客户端  

    蒙公网安备 15010502000194号

    Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

    GMT+8, 2026-6-11 13:55 , Processed in 0.457535 second(s), 94 queries .

    回顶部