C课程S1E6 pow
见图,运行了课后作业1题,与小甲鱼的一样,望指教。#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;
} 楼主应该是这里错。。。
看附件。。。。
函数概要:
1. pow(x, y) 用于求 x 的 y 次幂。
2. gcc 编译需要加上 -lm 选项。 类型都改成double(i 除外)试试 juhugufudu 发表于 2019-10-3 10:25
类型都改成double(i 除外)试试
#include <stdio.h>
#include <math.h>
int main()
{
double sum = 0;
double temp;
double weight;
int i;
for (i=0; i < 64; i++)
{
temp = pow(2, i);
sum = sum + temp;
}
weight = sum / 25000;
printf("舍罕王应该给予达依尔%.2lf粒麦子!\n", sum);
printf("如果每25000粒麦子为1kg,那么应该给%.2lf公斤麦子!\n", weight);
return 0;
}
结果如下:
舍罕王应该给予达依尔18446744073709552000.00粒麦子!
如果每25000粒麦子为1kg,那么应该给737869762948382.12公斤麦子!
--------------------------------
Process exited after 0.2779 seconds with return value 0
请按任意键继续. . .
juhugufudu 发表于 2019-10-3 10:27
结果如下:
舍罕王应该给予达依尔18446744073709552000.00粒麦子!
如果每25000粒麦子为1kg,那么应该 ...
不行 你代码没有错啊,你看看是不是你是否有其他代码没有关闭导致的
楼主应该是这里错。。。
看附件。。。。
函数概要:
1. pow(x, y) 用于求 x 的 y 次幂。
2. gcc 编译需要加上 -lm 选项。
页:
[1]