要求:
(1) Prompt for and accept an unsigned short int value.
(2) Display the value of 2 raised to the power of the value input in (1), i.e. display 2n, where n is the value from (1).
----------------------------------------------------------------------------------------------
输出例子:
Enter unsigned short int: 3
The value of 2 raised to the 3 power is 8
----------------------------------------------------------------------------------------------
我的代码:
#include <stdio.h>
#include <stdlib.h>
#include <limits.h>
#include <math.h>
int main()
{
short int number1, k;
printf("Enter unsigned short int:");
scanf("%d", &number1);
k = pow(2, number1);
printf("The value of 2 raised to the %d power is %d\n", number1, k);
return 0;
}
这个问题是在于scanf通过%d输入数字的时候要求的指针类型是int型的。但是你输入了的是short型的指针,导致栈会被破坏,所以运行时会出错。把short int number1, k;声明里面的short去掉就好
至于pow调用的错误,进行显式类型转换就好pow((double)2, (int)number1);
不过这个错误其实很奇怪,因为c不存在函数重载的,函数重载是C++的概念,所以对于纯C来说是不存在这个问题的。我估计是你的编译器设置的时候没有设置成为根据源文件后缀来自动识别语言。所以他还是按照C++的方式来进行编译。这种显式类型转换虽然可以让他编译过去,但是实际上是按照C++的方式编译的,不是C的方式编译。你可以尝试下这个设置:
C语言 大神们帮我看看这个指数幂问题!!!不知道为什么我老是出错
这个问题是在于scanf通过%d输入数字的时候要求的指针类型是int型的。但是你输入了的是short型的指针,导致栈会被破坏,所以运行时会出错。把short int number1, k;声明里面的short去掉就好 至于pow调用的错误,进行显式类型转换就好pow((double)2, (int)number1);不过这个错误其实很奇怪,因为c不存在函...
c语音程序问题⋯c语言求幂值出错,那个1e-8的判断是实验的要求应该没错...
LS回答有误,我可以帮你解决这个问题。本题是采用微积分中的麦克劳林公式求解自然底数e的值。LS的语法有误,运行结果也不对。首先,你应该把所有的变量都设置为float型,如果采用int型,在运算过程中将会不断取整数;其次,你的主函数是int型,所以在末尾需加上一个说明返回值的语句,例如return 0;。...
C语言问题,出现分母是0,不知道怎么修改,我下面这个程序中分母有tan(y...
你好:修改一下我注释的语句就可以了,当用double 时输入输出都 要用%lf,否则会出错的 main(){ double Z0,y;float H,B,n;float R0,R1,R00,R10;printf("角度Z0=");scanf("%lf",&Z0);\/\/\/这条语句作一下修改把scanf("%f",&Z0);的f前加一个l就成了!printf("输入扇缝间隙H=");sc...
C语言题.用递归法写一个求幂的函数,并在主函数实现调用.要用c语言...
C语言题.用递归法写一个求幂的函数,并在主函数实现调用.要用c语言,不要c++的。 提示:例如3∧4=81→①3∧4=3*3∧3,②3∧3=3*3∧2,3∧2=3*3∧1,3∧1=3*3∧0。(当指数等于0时结果为1)。 int power(int x,int n)...展开 梦谛生 | 浏览734 次 |举报 我有更好的答案推荐于2017-12-1...
...被表示为n(n>=2)个连续正整数之和,找出这样的数并输出!
这个问题看起来不是很简单,需要设计一个算法: 先讲数学: 设: an=a+(n-1)*d (这里d=1) a1=a an=a+n-1 sn=(a1+an)n\/2=(2a-1+n)\/2 再回到这个编程上来: 我们的输入数据其实就是sn,需要找到以a开始的n个连续的递增数列使得和为sn。 这里我们可以用循环来判定,给定一个n,sn已知,就可以求出a...
...判断4个数中,有三个一样,或是有两个一样,或是各不相同?
你会发现用于输入的文本框有了默认的值, 这就是第三个参数的作用. Msgbox函数是用来输出的函数, 在VBS中没有专门的输出函数(BASIC中的print,C中的printf), 所以我们只能用对话框来观察输出结果, Msgbox的必要参数只有一个, 就是要输出的内容, 在这种情况下, 我们不需要理会msgbox的返回值. 关于Msgbox和Input...