c语言ifx1
㈠ c语言用短除法求三个数的最小公倍数,程序没有语法错误,和书上的一模一样,但是运行不出结果求大神!
解:程序的思路错了,错在:t=t*i。
按照程序的思路是:现求出3个数中最大的数,这个最大的数作为出for循环的条件,而for循环的功能是:找出所有能被那3个数整除的数(不是要求同时被那3个数整除);而while循环结束后,执行下一句:x0=max(x1,x2,x3); ,是重新找出那3个数中最大的数,因为经过了3个if语句中:x1=x1/i;x2=x2/i;x3=x3/i;后,x1、x2、x3的值都可能发生了改变,到最后把找到的所有i的值都相乘,即最大公倍数。
那我们假设那3个数是:3、8、9
因为9最大,此时x0=9。
当i=2时,经过while时,这3个数变成:3、4、9,此时还是9最大,while时结束后,经过这句:x0=max(x1,x2,x3); 后,那么此时x0=9。
当i=3时,经过while时,这3个数变成:1、4、3,此时最大的数为4,while时结束后,经过这句:x0=max(x1,x2,x3); 后,那么此时x0=4。
当i=4时,经过while时,这3个数变成:1、1、3,此时最大的数为3,while时结束后,经过这句:x0=max(x1,x2,x3); 后,那么此时x0=3。
接下来for循环结束了,因为这句:i<=x0;,4比3大,for循环不执行了。
那么经过t=t*i后得:2X3X4=24,显然不是最小公倍数,思路也是错在这里。
综上得出本人的修改结果:t=t*i; 这句保留,在for循环结束后,加上这句:t=t*x1*x2*x3;即可。也就是:假设中的:24X1X1X3=72。
㈡ C语言中关于两个if连用怎么理解
if连用的理解:两个if连用有两种方式,第一种是if……if连用,第二种是if语句的嵌套。
if……if连用:每一个if语句都是独立的,为了编码的规范,很少使用if……if这样的格式,一般使用if……else或者使用switch……case语句代替。
if语句的嵌套:所谓if语句嵌套即第1个if的if子句依然是if语句,第2个if的if子句依然是if语句 ,依次类推。
解答:
因为a=2,b=3,所以a<b。
因为第一个if为假,故第二个if无法执行,else无法执行。
故执行printf("over! ")。
然后编译运行,结果为:over!换行。
(2)c语言ifx1扩展阅读:
c语言三种if语句的形式:
if(表达式)语句。例如:if(x>y)printf("%d",x)
if(表达式)语句1 else 语句2。例如:if(x>y)printf("%d",x);elseprintf("%d",y);
if(表达式1)语句1,else if(表达式2)语句2,else if(表达式m)语句m,else 语句 n。
在每个语句中,可以有多个语句,但需要加上大括号,例如:if(x>y){printf("%d",x);break;}
㈢ c语言函数求方程的根
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int main()
{
float a,b,c,x,x1,x2,d;
scanf("%f %f %f",&a,&b,&c);
d=b*b-4*a*c;
if(a==0)
{
if(b==0)
{
if(0==c)
{
printf("等式0!\n");
}
else
{
printf("输入错误!\n");
}
}
else
{
printf("只能构成一元一次方程,x=%.6f\n",0==-(float)c/b ? 0 : -(float)c/b);
}
}
else
{
if(d<0)
{
x1=(-b+sqrt(-d))/(2.0*a);
x2=(-b-sqrt(-d))/(2.0*a);
printf("x1=%.6f+%.6fi\nx2=%.6f-%.6fi\n",(-b)/(2.0*a),sqrt(-d)/(2.0*a),(-b)/(2.0*a),sqrt(-d)/(2.0*a));
}
else if(d==0)
{
printf("x1=x2=%.6f\n",(-b)/(2.0*a));
}
else
{
x1=(-b+sqrt(d))/(2.0*a);
x2=(-b-sqrt(d))/(2.0*a);
printf("x1=%.6f\nx2=%.6f\n",x1,x2);
}
}
system("PAUSE");
return EXIT_SUCCESS;
}
㈣ c璇瑷姹备竴鍏冧簩娆℃柟绋嬬殑镙
Ax2+bx+c=0
涓鍏冧簩娆℃柟绋嫔彲鑳芥湁涓や釜瀹炴暟瑙o纴鎴栬呬竴涓瀹炴暟瑙o纴鎴栬呮棤瀹炴暟瑙c傛牴鎹杈揿叆镄勪笁涓绯绘暟 a銆乥銆乧 镄勫垽鏂瑙g殑𨱍呭喌锛#include<stdio.h>#include<math.h>int main(){double disc,a,b,c,p,q,x1,x2;printf("璇疯緭鍏a鍜宐鍜宑镄勫硷细 ");
scanf("%lf %lf%lf",&a,&b,&c);disc=b*b-4*a*c;if(disc<0)printf("鏀规柟绋嬫棤瀹炴暟镙筡n");else{p=(-b)/(2*a);q=sqrt(disc)/(2*a);x1=p+q;x2=p-q;printf("x1=%7.2f
x2=%7.2f
",x1,x2);}return 0;
㈤ c语言求一元二次方程的解
c语言一元二次方程编程是#include<iostream> 。#include<cmath>。usingnamespacestd。intmain()。{floata,b,c;floatx1,x2; cin>a>>b>>c;floatdlt=b*b-4*a*c;if(dlt>=0){x1=-b/2/a+sqrt(dlt)。/2/ax2=-b/2/a-sqrt(dlt)/2/a。
形如x=p或(nx+m)=p(p≥0)的一元二次方程可采用直接开平方的方法解一元二次方程.如果方程化成x²=p的形式,那么可得x=±p;(x²=p,x=±根号p)如果方程能化成(nx+m)=p(p≥0)的形式,那么nx+m=±p。
简洁的语言:
C语言包含的各种控制语句仅有9种,关键字也只有32个,程序的编写要求不严格且以小写字母为主,对许多不必要的部分进行了精简。
实际上,语句构成与硬件有关联的较少,且C语言本身不提供与硬件相关的输入输出、文件管理等功能,如需此类功能,需要通过配合编译系统所支持的各类库进行编程,故c语言拥有非常简洁的编译系统。
提供的控制语句具有结构化特征,如for语句、if...else语句和switch语句等。可以用于实现函数的逻辑控制,方便面向过程的程序设计。