c语言小代码,do...while循环的使用
发布网友
发布时间:2022-04-26 16:20
我来回答
共2个回答
热心网友
时间:2023-01-24 00:45
都是不正确的。
a:do-while();是一种循环语句,当然可以构成循环;
b:其次,他的结束基本上是由while(表达式);中的表达式所决定的,所以不一定使用break语句。
另外,补充一句break语句只能在循环语句和switch语句中使用。
热心网友
时间:2023-01-24 02:03
# include <stdio.h>
# include <math.h>
# include <stdlib.h>
int main(void)
{
double a, b, c;
double delta;
double x1, x2;
do
{
printf("输入一元二次方程的三个系数:\n");
printf("a = ");
scanf("%lf", &a);
printf("b = ");
scanf("%lf", &b);
printf("c = ");
scanf("%lf", &c);
delta = b*b - 4*a*c;
if (delta > 0)
{
x1 = (-b + sqrt(delta)) / (2*a);
x2 = (-b - sqrt(delta)) / (2*a);
printf("有两个解。x1 = %lf, x2 = %lf\n", x1, x2);
}
else if (0 == delta)
{
x1 = x2 = (-b) / (2*a);
printf("有个唯一的解。x1 = x2 = %lf\n", x1, x2);
}
else
{
printf("\n\n无实数解。\n");
}
system ("pause");// 把getchar换成这个就行了
system ("cls");
}while (1);
return 0;
}
因为getchar是从缓冲区中读取一个字符,而每次你输入和输出的时候都用了'\n',所以呢,每次都清空了缓冲区,getchar自然不会停止。
追问不懂.
system ("pause");
这个是什么意思?
跟getchar();有什么区别?
追答这个就和你写的system("cls");是一样的,都是系统调用函数,调用的是系统内部函数,pause就是暂停的意思,等待用户输入一个任意数,和getchar很相似,但是不一样,它能让程序暂停,但是getchar只是将程序停在那等待从缓冲区中获取一个字符。