我要看
本帖最后由 wqa404090556 于 2018-2-28 15:47 编辑
为什么我的代码和答案一样而输出结果却不一样
pow函数
xx
s
1.#include <stdio.h>
#include <math.h>
int main()
{
double result;
double x,y;
for(x=1,y=2;x<=5;x++,y++)
{
result=pow(x,y);
}
printf("result is \n%f",result);
}
1
本帖最后由 Wuxx 于 2018-2-28 23:45 编辑
最后一题为啥我的代码算出来值不一样,代码如下
#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("舍罕王应该给予达依尔%11u粒麦子!\n", sum);
printf("如果每25000粒麦子为1kg,那么应该给%11u公斤麦子!\n", weight);
return 0;
}
test code please
#include<stdio.h>
#include<math.h>
int main()
{
int result;
result = pow(1.0,2) + pow(2.0,3) + pow(3.0,4) + pow(4.0,5) + pow(5.0,6);
printf("result = %d\n",result);
return 0;
}
1
0:long long int
1:short int
2:是,是用于获取表达式或者数据类型长度的函数。
3:8个比特位
4:_Bool
5:A变成sizeof(i),B变成sizeof(123),E变成sizeof(int),F变成sizeof(123)
6:unsigned int 可以表示更大的整数,因为unsigned int 只表示正数存储空间扩大了一倍
7:程序要么为真,要么为假,是就是是,不是就是不是
完成
1
0.long long int
1.unsigned short ()
2.不是。只是一个语句
3.8?
4.布尔类型
5.sizeof 后面加对象或类型,B和D错误。F把size和of空开了。sizeof后面如果加空格,一定只能是对象,不能是类型
6.int
7.布尔值只有TURE和FALSE
甲鱼哥天下无敌帅气!
本帖最后由 466628330 于 2018-3-4 19:27 编辑
0.对于整型变量来说, long int已经可以存放足够大的整数了, 但是若有一个更大的整数, 应该尝试用什么类型?
答: long long int
1.就我们目前学习到的数据类型中,C标准规范存储空间最小的是?
答: char_Bool
2.printf()是用于格式化输出的函数, sizeof()是函数吗?
答:不是,sizeof()shiC语言中的一个单目操作符
3.C语言中定义1字节是多少比特位?
答:1Byte = 8bit
4.C标准只规定一个数据类型的具体尺寸(其他数据类型都是规定相对范围),是哪个?
答:char.因为char类型是针对ASCII码进行存储的,ASCII已经固定,所以char的存放尺寸也是固定的.
但是int float等都跟计算机的位数有关系
5.int i = 123,指出下面错误的语句?
A.sizeof i; 错
B.sizeof 123; 错
C.sizeof(i); 对
D.sizeof(123); 对
E.sizeof int; 错
F.size of 123; 错
6.unsigned和signed那个可以表示更大的整数?
答:unsigned, 因为unsigned将最高位表示为数字,而signed将最高位表示为正负
7.我们说程序不会撒谎,言下之意是?
答:因为程序在相同环境下的执行结果是确定的
1.阶乘
//阶乘
#include <math.h>
#include <stdio.h>
int main() {
int i = 1;
int j = 6;
int end = 0;
while (i < j) {
end += pow(i, i + 1);
i++;
}
printf("%d", end);
return 0;
}
2.棋盘
#include <math.h>
#include <stdio.h>
int main() {
int i;
unsigned long long int end = 0;
unsigned long long int temp = 0;
for (i = 0; i < 64; i++) {
temp = pow(2, i);
end += temp;
printf("%llu\n", end);
}
printf("%llu\n", end);
printf("%llu\n", end / 25000);
return 0;
}
学习看看
1
{:5_91:}