C语言中怎么计算一个数的平方?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言中怎么计算一个数的平方?相关的知识,希望对你有一定的参考价值。

可以使用b=a^2来计算a的平方值吗?

可以用b=a*a来算,也可以用math库的pow函数来算
要用pow首先要包含头文件 #include <math.h>
然后调用pow函数
double pow( double base, double exp );
函数返回以base为底的exp次,不允许的取值范围:
当base 为 0 且exp 小于或等于 0
当base 为 负数 且 exp 不为整数
参考技术A 当然不行了,^是C语言中的异或运算符。计算平方可以用b = a * a本回答被提问者采纳 参考技术B C语言计算一个数的平方,最简单的方法只要计算它的自乘:
例如,计算x的平方:y=x*x;
也可以用math库的pow函数来算
要用pow首先要包含头文件 #include <math.h>
然后调用pow函数
double pow( double base, double exp );
y=pow(x,2);
参考技术C

1、C语言中没有平方的准确表达,一般用 乘号来运算,例如x的平方为x*x。

2、另外math.h中有一个幂计算。double pow (double x,double y),   表示X的Y 次方,Y=2时,表示X的2次方。

如下程序计算变量 i 的平方:

#include "math.h"
void main()

double i=100;
printf("%f",pow(i,2));
getch();

参考技术D ^是异或运算符,千万不要用错!
平方的话可以直接两个数相乘,b = a * a;
如果多次方的话需要调用数学库的函数pow,b = pow(a,2); 使用函数需要#include<math.h>

C语言编程 计算一串字符中的数字个数

题目描述

小明的老师给小明出了一道题目:数数一篇文章出现了多少个数字,请你帮帮他吧。
输入

输入一个字符串,由空格、英文字母、数字组成,以回车结束,长度小于1000。
输出
输出整数个数(不是数字字符个数哦)。
样例输入
5436grh 74h74 57 74rg 63664greg743

样例输出
7

下面是我的错误代码

#include <stdio.h>
int main()

char str[1006];
int i,flag=0;
int count=0;
gets(str);
for(i=0;str[i]!='\0';i++)

if('0'<=str[i]&&str[i]<='9')
flag=1;
if('0'<=str[i+1]&&str[i+1]<='9'&&flag==0)

count++;
flag=1;


printf("%d\n",count);
return 0;

#include <stdio.h>
#include <string.h>

int main()

char szText[1006] =  0 ;
int count=0;
int nFlag = 0;
gets( szText );

for ( int i = 0; i < strlen( szText ); i++ )

if ( szText[i] <= '9' && szText[i] >= '1' )

if ( nFlag == 0 )

count++;
nFlag = 1;


else

nFlag = 0;



printf("%d\\n",count);
return 0;

稍微修改了一下,楼主可以参考

追问

厉害! 您能讲下思路吗 对了我都不知到为什么 看上去这个代码是不能完成目的的 但就是对了

追答

1,设置nFlag 变量,标志上一个字符是否是数字,如果非数字就设为0,就是下面这句

else

    nFlag = 0;

2,如果一个字符是0~9之间数字,我们判断是否是一个新的数字开始,如果是一个新的数字开始的话前一个字符肯定就是非数字,那么这个时候nFlag == 0; 这样我们就可以确定一个新的数字开始,就把count增加1(count++),同时把nFlag 设为1,表示开始一个数字,如果下一个字符还是数字的的话nFlag == 1;我们就不增加count,直到遇到非数字,把nFlag设为0,之后新的数字开始再增加count计数

参考技术A #include <stdio.h>
int main()

char str[1006];
int i,flag=0;
int count=0;
gets(str);
for(i=0;str[i]!='\0';i++)


if('0'<=str[i]&&str[i]<='9')

flag=1;
continue;

else

if(flag==1)

count++;

flag=0;


if(flag==1)count++;
printf("%d\n",count);
return 0;
追问

我现在能看懂了

追答

从第一个数开始 如果是数字,那么标记flag=1,然后跳过下面的语句开始考虑下一个数,直到遇到不是数字的字符,如果此时的flag=1,即说明这个字符的前面一个是数字,因为遇到了字母 所以前面的就能算是一个整数了 此时count++,并将flag重新置为0,重复上述步骤,最后一步时,因为你的循环是当str[i]==0的时候退出循环,那么最后一个整数(假设有,就像例子)会被漏掉,所以在循环外面又加了一层判断

本回答被提问者采纳
参考技术B 不会啊,sorry

以上是关于C语言中怎么计算一个数的平方?的主要内容,如果未能解决你的问题,请参考以下文章

c语言怎么判断一个数是素数

C语言中如何判断整数是不是为平方数

c语言计算一个数q的1次方到n次方的和,而q和n的数量级都是10的9次方,结果取模,怎么减少时间呢

C语言中开平方函数是啥?

python编写程序求两个数的平方和

c语言中开平方的函数在那个库中???