L-C-015 do……while的用法及一元二次方程的求解

tech2022-09-26  72

在while的用法中,还存在do……while的用法 结构:

do { …… } while ();

(注意while括号后一定要加封号) 此结构和while的最大的区别就是while先进行while括号内语句的判断,而do……while先进行语句,在do之后才判断while括号内语句。

下面为一元二次方程求解程序案例:(用do……while)

#include<stdio.h> #include<math.h> void main() { double a,b,c; double del; double x1,x2; char ch; printf(“请输入一元二次方程的三个数:\n”); printf("a = "); scanf("%d",&a); printf("b = "); scanf("%d",&b); printf("c = "); scanf("%d",&c); del=b*b-4*a*c; do { if (del>0) { x1=(-b+sqrt(del))/(2*a); x2=(-b-sqrt(del))/(2*a); printf("有两个不等的实根: x1= %d x2= %d\n",x1,x2); } else if (0==del) { x1=-b/(2*a); printf("有两个相等的实根: x1 = x2 = %d\n",x1); } else printf("无实数根.\n"); printf("是否需要再次运行:(y/n) "); scanf(" %c",&ch); }while ('Y'==ch || 'y'==ch); }

这里有一个疑问,在别的地方看到scanf里%c前要加一个空格,希望能有大佬能解惑

最新回复(0)