| 
 | 
 
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册  
 
x
 
#include <stdio.h> 
#include <math.h> 
 
int main() 
{ 
        unsigned long long sum = 0; 
        unsigned long long temp; 
        unsigned long long weight; 
        int i; 
 
        for (i=0; i < 64; i++) 
        { 
                temp = pow(2, i); 
                sum = sum + temp; 
        } 
 
        weight = sum / 25000; 
 
        printf("舍罕王应该给予达依尔%llu粒麦子!\n", sum); 
        printf("如果每25000粒麦子为1kg,那么应该给%llu公斤麦子!\n", weight); 
 
        return 0; 
} 
 
 
 
 
 
去掉unsigned long long sum = 0;和sum = sum + temp; 
将sum全部改为temp变成代码 
 
 
#include <stdio.h> 
#include <math.h> 
 
int main() 
{ 
         
        unsigned long long  weight; 
        unsigned long long  temp; 
        int i; 
         
        for (i = 0; i < 64; i++) 
        { 
                temp = pow(2, i); 
                 
        } 
         
        weight = temp / 25000; 
         
        printf("舍罕王应该给予达依尔%llu粒麦子!\n", temp); 
        printf("如果每25000粒麦子为1kg,那么应该给%llu公斤麦子!\n", weight); 
         
        return 0; 
} 
 
输出结果为什么小了一半
 本帖最后由 claws0n 于 2018-8-11 14:36 编辑 
打错了,不好意思。pow(2,i) ,变量 i 要进去才会改变
 
记得评选最佳答案    
 
 
 |   
 
 
 
 |