当前位置:首页 » 编程语言 » 用c语言实现判别分析
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

用c语言实现判别分析

发布时间: 2023-01-27 04:05:30

㈠ 用c语言编写“判断一个数是否为完数”!

1、首先打开C语言的编辑软件,这里是使用VS2017版,在c语言的文件中写入头文件和主函数备用:

㈡ C语言中怎么判断输入的数是整数还是浮点数

c语言中没有判断输入是整数还是浮点数的既有功能,需要自己实现.
实现方法是把输入作为字符串读入,然后自行分析该字符串表示的是整数还是浮点数.

㈢ c语言中如何判断输入的是字符还是数字

1、可以用sacnf或gets函数直接接收输入的字符串,然后用循环遍历字符串中每一个字符,判断其是字母还是数字。

2、可以用循环调用getch()或getchar()函数来一个一个字符的接收输入,同时判读输入的是字母还是数字。

3、假设字符c,满足 (c>='a'&& c<='z')|| (c>='A' && c<='Z')就是字母,满足 (c>=0 && c<=9)就是数字。

(3)用c语言实现判别分析扩展阅读:

getch():

所在头文件:conio.h

函数用途:从控制台读取一个字符,但不显示在屏幕上

函数原型:int getch(void)

返回值:读取的字符

例如:

char ch;或int ch;

getch();或ch=getch();

用getch();会等待你按下任意键,再继续执行下面的语句;

用ch=getch();会等待你按下任意键之后,把该键字符所对应的ASCII码赋给ch,再执行下面的语句。

㈣ 怎么判断1到100之间的素数用C语言程序

//1.程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。
//2.程序源代码:
#include
"stdio.h"
#include
"math.h"
main()
{
int
m,i,k,h=0,leap=1;
printf("\n");
for(m=1;m<=100;m++)
{
k=sqrt(m+1);
for(i=2;i<=k;i++)
if(m%i==0)
{
leap=0;break;
}
if(leap)
{
printf("%-4d",m);
h++;
if(h%10==0)
printf("\n");
}
leap=1;
}
printf("\nThe
total
is
%d",h);
return
0;
}

㈤ c语言:编写函数判断x是否同构数

#include

inttgs(intx)

intm1,n,a,b;

m1=x;

n=x*m1;

while(m1)

a=m1%10;

b=n%10;

if(a!=b)break;

m1=m1/10;

n=n/10;

returnm1==0;

intmain()

intx;

scanf("%d", &x);

if(tgs(x))printf("%d是一个同构数",x);

elseprintf("%d不是一个同构数",x);

return0;

}。

(5)用c语言实现判别分析扩展阅读

C语言 同构数的算法

“同构数”是指这样的整数:它恰好出现在其平方数的右端。

如:376*376=141376。请输出10000以内的全部“同构数”。

算法分析:

1.求出1-10000之间每个数的位数(即这个数是几位数)。设这个数是i.//用for循环实现。

2.再求出每个数的平方值,提取出最右端对应位数的数值出来。//用取模%法实现。

如369是个三个数,它的平方是136161,用取模%法提取出最右三位数字161,即136161%1000=161。

3.最后判断 i 与右端数 是否相等,相等即为同构数。

㈥ 怎么判断1到100之间的素数用C语言程序

这好像是C语言书上一个例子,lz问之前可以搜一下,这题被网上问过好多了。。。下面为

判断素数的方法:用一个数分别去除以2到sqrt(这个数),如果能被整除, 则表明此数不是素数,反之是素数。
#include〈math.h〉
main()
{ int m,k,i;
for(m=1;m<=100;m=m+2) //m=m+2,因为偶数都不是素数,不用考虑,所以每次m+2.
{ k=sqrt(m) //先求这个数的平方跟
for(i=2;i<=k;i++) //然后用i(从2到k,即m的平方跟)去除m,
if(m%i==0) break; //如果能被整除, 则不是素数,break
if(i>=k+1) pritnf("%d",m); //如果i>k+1,则说明没有数能整除m.则m是素数
}
}

㈦ C语言里怎么判断10个数互不相同简单的方法,而不是两两相比较的方法,请求高手指教,非常感谢啊!!!

hash,用数组的下标表示你输入的数,数组的值表示该数是否出现过。
初始化数组的值全部为0,表示没出现。

比如 a[5]=1,表示的意思就是5,出现过
a[5]=0,表示的意思就是5没有出现过。
a[4]=1,表示的意思就是4出现过。
当然,还可以记录每个数出现的次数,出现一次,该数组值就加1
a[5]=2,表示5出现2次,同理……

如果只为看是否出现,就用0,1表示,数组类型也可以是bool型,不占很多空间……

㈧ c语言中判断一个输入的数为偶数还是奇数的程序怎么编写

1、开启一个虚拟机,打开终端(ctrl+alt+t),然后用vi新建并进入编辑一个c文件(vi a.c)。

㈨ c语言程序,输入三角形三边的长度,判断是不是三角形,若是,在判断为何种三角形,并求其面积

#include <stdio.h>
#include <math.h>

// 最小精度
double eps = 1e-5;

// 圆周率常量
double PI = acos(-1);

// 枚举三角形类型,分别为:
// 非法三角形,锐角三角形,等边三角形,等腰三角形,直角三角形,等腰直角三角形,钝角三角形
enum TriangleType{NOT_ANGLE, ACUTE_TRIANGLE, REGULAR_TRIANGLE, ISOCELES_TRIANGLE,
RIGHT_TRIANGLE, ISOCELES_RIGHT_TRIANGLE, OBTUSE_TRIANGLE};

/*
功能:根据变长,判断三角形的类型
参数:
a,b,c 三角形的三条边长
返回:
三角形的类型。见: TriangleType。
说明:
应用了余弦定理:
cosA = (b^2 + c^2 - a^2)/2bc
*/
TriangleType getTypeOFTriangle(double a, double b, double c)
{
// 边 a, b, c 对应的角的度数(弧度制)
double angle_A, angle_B, angle_C;

// 三边长度必须必须是正数
if(a<= eps || b<= eps || c <= eps)
return NOT_ANGLE;
// 两边之和必须大于第三边
if((a+b) -c <= eps || (a+c) - b <= eps || (b+c) - a <= eps )
return NOT_ANGLE;
// 两边之差必须小于第三边
if(fabs(a-b) - c>= eps || fabs(a-c) - b >= eps || fabs(b-c) - a >= eps)
return NOT_ANGLE;

angle_A = acos((b*b + c*c - a*a) / (2.0 * b * c));
angle_B = acos((a*a + c*c - b*b) / (2.0 * a * c));
angle_C = acos((a*a + b*b - c*c) / (2.0 * a * b));

if(fabs(angle_A - angle_B) <= eps && fabs(angle_B - angle_C) <= eps)
return REGULAR_TRIANGLE;

else if(fabs(angle_A - angle_B) <= eps)
return angle_C - PI/2.0 <= eps ? ISOCELES_RIGHT_TRIANGLE : ISOCELES_TRIANGLE ;
else if(fabs(angle_A - angle_C) <= eps)
return angle_B - PI/2.0 <= eps ? ISOCELES_RIGHT_TRIANGLE : ISOCELES_TRIANGLE ;
else if(fabs(angle_B - angle_C) <= eps)
return angle_A - PI/2.0 <= eps ? ISOCELES_RIGHT_TRIANGLE : ISOCELES_TRIANGLE ;

else if(fabs(angle_A - PI/2.0) <= eps && fabs(angle_B - PI/2.0) <= eps && fabs(angle_C - PI/2.0) <= eps)
return ACUTE_TRIANGLE;

else if(fabs(angle_A - PI/2.0 ) <= eps || fabs(angle_B - PI/2.0) <= eps || (angle_C - PI/2.0) <= eps)
return RIGHT_TRIANGLE;

else
return OBTUSE_TRIANGLE;
}

/*
功能:根据变长,计算三角形面积
参数:
a,b,c 三角形的三条边长
返回:
三角形的面积。如果 a,b,c 无法组成三角形,返回 -1。
说明:
函数运用了海伦公式:
S = √(p*(p-a)*(p-b)*(p-a))
其中 p = (a+b+c)/2。
*/
double getAreaOfTriangle(double a, double b, double c)
{
double p = (a + b + c) / 2.0;
if(NOT_ANGLE == getTypeOFTriangle(a, b, c))
return -1;
else
return sqrt(p* (p-a) * (p-b) * (p-c));
}

int main(int argc, char *argv[])
{
// 三角形的三边长
double a,b,c;
while(scanf("%lf%lf%lf", &a, &b, &c) != EOF)
{
switch(getTypeOFTriangle(a, b, c))
{
case NOT_ANGLE:
printf("%lf %lf %lf 不能组成三角形!\n", a, b, c);
break;
case REGULAR_TRIANGLE:
printf("%lf %lf %lf 能组成等边三角形,面积为:%lf!\n", a, b, c, getAreaOfTriangle(a, b, c));
break;
case ISOCELES_TRIANGLE:
printf("%lf %lf %lf 能组成等腰三角形,面积为:%lf!\n", a, b, c, getAreaOfTriangle(a, b, c));
break;
case ACUTE_TRIANGLE:
printf("%lf %lf %lf 能组成锐角三角形,面积为:%lf!\n", a, b, c, getAreaOfTriangle(a, b, c));
break;
case RIGHT_TRIANGLE:
printf("%lf %lf %lf 能组成直角三角形,面积为:%lf!\n", a, b, c, getAreaOfTriangle(a, b, c));
break;
case ISOCELES_RIGHT_TRIANGLE:
printf("%lf %lf %lf 能组成等腰直角三角形,面积为:%lf!\n", a, b, c, getAreaOfTriangle(a, b, c));
break;
case OBTUSE_TRIANGLE:
printf("%lf %lf %lf 能组成钝角三角形,面积为:%lf!\n", a, b, c, getAreaOfTriangle(a, b, c));
break;
default:
;
}
}
return 0;
}
/*
测试数据:
1.0 2 3
3 3 3
4 4 7
4 4.5 5
3 4 5
1.4142135 1.4142135 2
5.5 5 10
*/