十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
输出是不是有问题啊?
成都创新互联是一家集网站建设,宽城企业网站建设,宽城品牌网站建设,网站定制,宽城网站建设报价,网络营销,网络优化,宽城网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。
应该这样吧:
输入
2 (repeat=2)
1.5 2
输出
2.25
输入
2.0 10
输出
1024.00
如果这样可以这样写:
#include stdio.h
int main( )
{
int ri, repeat;
int i, n;
double x, mypow;
scanf("%d", repeat);
for(ri=1; ri=repeat; ri++)
{
scanf("%lf%d", x, n);
for(mypow=1.0, i=0; in; i++)
mypow*=x;
printf("%.2f\n", mypow);
}
return 0;
}
值得注意的是:编写风格不对,int main()是ANSI C++标准,怎么后面程序用的是C语言库函数写的? 而且没有RETURN语句呼应!
//(1)定义函数(x,n),计算x的n次幂#include "stdio.h"
double f(double x,int n)
{
double s=1.0;
int i;
for(i=1;i=n;i++)
{
s=s*x;
}
return s;
}
void main()
{
double x;
int n;
printf("请输入x:");
scanf("%lf",x);
printf("请输入n:");
scanf("%d",n);
printf("%lf的%d次幂等于%lf\n",x,n,f(x,n));
}运行截图:
double x,p; //定义两个双精度浮点数,x和p,同时分配存储单元
unsigned n; //定义一个无符号整数,n,同时分配存储单元
printf("Please input x:"); //输出"Please input x:",提示用户输入x的值
scanf("%lf",x); //输入一个浮点数,存在x所指向的存储单元
printf("Please input n:"); //输出"Please input n:",提示用户输入n的值
scanf("%d",n); //输入一个整数,存在n所指向的存储单元
p=1.0; //给p赋值为1.0
while(n--) p*=x; …………#//这是一个循环,在while后的括号内内容为真时,进入循环
语句为n--,就是先判断n的值是否为真,再执行n=n-1操作
若n不等于0,即语句为真
语句为真进入p*=x的语句循环
即p=p*x,其中,p的初始值为1.0,x是你输入的某浮点数
当n为零时退出循环,此时,一共执行了n次*x的操作,即x的n次方
p中存放的是x的n次方的结果
printf("%f",p); //输出p的值
区分x和n的类型,以及对结果的要求,可以有如下两种方式。
1 使用pow函数。
在C语言的标准头文件math.h中,有库函数pow,声明为
double pow(double x, double n);
其功能为计算x的n次方并返回结果。
所以可以用pow计算x的n次方。
该函数适用于以下几种情况:
a. 当n为浮点数类型时,必须使用pow。
b. 当x为浮点数或对结果值精度要求不高时,可以使用pow。
2 当x和n均为整型,且对结果要求绝对准确值,而不能是近似值时,可以自行编写整型乘方函数。
如
int pow_int(int x, int y)
{
int r = 1;
while(y--) r*=x;
return r;
}
其原理为,将x自乘y次,并将结果累计到r上,最终返回。
需要注意的是,使用该种方法时虽然可以得到准确值,但由于int可以表示的范围比double小很多,所以出现溢出的概率要比pow函数更大。
C语言中计算x的n次方可以用库函数来实现。具体的代码如下:
#include stdio.h
#include math.h
int main( ) {printf("%f",pow(x,n));return 0;}
C语言是一种结构化语言,它有着清晰的层次,可按照模块的方式对程序进行编写,且c语言的处理和表现能力都非常的强大,依靠非常全面的运算符和多样的数据类型,可以轻易完成各种数据结构的构建,通过指针类型更可对内存直接寻址以及对硬件进行直接操作。
扩展资料:
如果一个变量声明时在前面使用 * 号,表明这是个指针型变量。换句话说,该变量存储一个地址,而 *(此处特指单目运算符 * ,下同。C语言中另有 双目运算符 *) 则是取内容操作符,意思是取这个内存地址里存储的内容。指针是 C 语言区别于其他同时代高级语言的主要特征之一。
指针不仅可以是变量的地址,还可以是数组、数组元素、函数的地址。通过指针作为形式参数可以在函数的调用过程得到一个以上的返回值,不同于return(z)这样的仅能得到一个返回值。
参考资料来源:百度百科-C语言
#include "stdio.h"
void main()
{
int x,n;
long sum=1;
printf("请输入x:");
scanf("%d",x);
printf("请输入n:");
scanf("%d",n);
printf("%d的%d次方是",x,n);
for(int i=1;i=n;i++)
sum*=x;
printf("%d\n",sum);
}