#include <stdio.h> #include <math.h> int main() { double a,b,c,d; double distljb(double a,double b,double c,double d); printf("请输入两个坐标\n"); scanf("%lf,%lf,%lf,%lf",&a,&b,&c,&d); printf("Input(x1,y1);%.2f %.2f\n",a,b); printf("Input(x2,y2);%.2f %.2f\n",c,d); printf("两点坐标的距离为%.2f",distljb(a,b,c,d)); return 0; } double distljb(double a,double b,double c,double d)//abcd分别等于x1 y1 x2 y2 { double j; j=sqrt((a-c)*(a-c)+(b-d)*(b-d)); return j; }这个程序的x1y1x2y2的值输入错误怎么解决?
时间: 2023-06-26 21:05:54 浏览: 413
如果输入的值不符合要求,程序会出现错误或者输出错误结果。为了避免这种情况发生,可以在输入时添加一些判断,例如判断输入是否为数字,判断输入的个数是否符合要求等。可以参考下面的代码:
```
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main() {
double a,b,c,d;
double distljb(double a,double b,double c,double d);
printf("请输入两个坐标,格式为x1,y1,x2,y2\n");
if(scanf("%lf,%lf,%lf,%lf",&a,&b,&c,&d) != 4){ //判断输入的个数是否为4个
printf("输入格式错误!\n");
exit(1);
}
printf("Input(x1,y1);%.2f %.2f\n",a,b);
printf("Input(x2,y2);%.2f %.2f\n",c,d);
printf("两点坐标的距离为%.2f",distljb(a,b,c,d));
return 0;
}
double distljb(double a,double b,double c,double d) {
double j;
j=sqrt((a-c)*(a-c)+(b-d)*(b-d));
return j;
}
```
在上面的代码中,我们使用了`scanf`函数的返回值来判断输入的个数是否符合要求。如果`scanf`函数返回的值不为4,则说明输入格式错误,程序会输出提示信息并退出。
阅读全文