一个C语言程序的错误

来源:百度知道 编辑:UC知道 时间:2024/06/25 18:47:13
/*计算n以内所有能被3和7整除的自然数的平方根*/
#include "stdio.h"
void main()
{int n,i;
double t;
printf("Please input:n=");
scanf("%d",&n);
for(i=3;i<=n;i++)
if(i%3==0||i%7==0)
{t=i;
printf("%f ",t^0.5);}}/*提示乘方符号出错*/

我应该怎样解决这个问题啊?希望知道的人帮忙指点一下!谢谢!
谢谢各位,问题已经解决了。确实没人告诉我幂运算要用pow(),我们上C语言课用的是黑板,老师写在上面的程序并没有经过调试,他自己用^来做乘法,也没告诉我们那个头文件。
顺便下问题,sqrt()是开平方,那如果我想要开5次方,那个函数怎么写。还有算乘法,比如我想用函数表示t的五次方,我应该怎么写,谢谢?

#include "stdio.h"
#include "math.h"
void main()
{int n,i;
double t;
printf("Please input:n=");
scanf("%d",&n);
for(i=3;i<=n;i++)
if(i%3==0||i%7==0)
{t=i;
printf("%f ",sqrt(t));
}}

开方的操作要用函数,没有运算符直接操作的,可以用sqrt()这个函数,它被包含在math.h头文件里

开多次方,可以用pow()函数:
x的开三次方可以这样写pow(x, 1.0 / 3.0)
注意第二个变量是1.0除以药开的次方数

有没有人告诉过你C语言做幂运算要用函数pow()?
^是异或运算符

C语言中,乘方要用pow()函数,开平方要用sqrt()函数,^是位操作符,表示异或,而不是像BASIC中一样表示乘方。

************************************************

求a的b次方:pow(a,b)

求a的b次方根:pow(a,1.0/b)

求a的算术平方根:sqrt(a)

相关的头文件为math.h

#include "stdio.h"
#include "math.h "
void main()
{int n,i;
double t;
printf("Please input:n=");
scanf("%d",&n);
for(i=3;i<=n;i++)
if(i%3==0||i%7==0)
{t=i; t=sqrt(t);
printf