【发布时间】:2017-02-06 22:20:23
【问题描述】:
当在第一个数据输入中输入诸如“exit”之类的单词时,我需要终止我的代码。我不知道实现这一点的正确功能或方法。我的数据是正确的,只需要用一个单词命令终止。请任何建议或提示与解释将不胜感激。
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main(void) {
double xminA, xmaxA, yminA, ymaxA, xminB, xmaxB, yminB, ymaxB;
double xminC, xmaxC, yminC, ymaxC;
char end;
while(1){
printf("Rectangle A:");
scanf("%lf%lf%lf%lf", &xminA, &yminA, &xmaxA, &ymaxA);
printf("Rectangle B:");
scanf("%lf%lf%lf%lf", &xminB, &yminB, &xmaxB, &ymaxB);
if(xminA>xmaxB || xminB>xmaxA || yminA>ymaxB || yminB>ymaxA){
printf("No overlapping area\n");
}
else if(xminA<=xmaxB || xminB<=xmaxA || yminA<=ymaxB || yminB<=ymaxA){
xminC= fmax(xminA,xminB);
xmaxC= fmin(xmaxA, xmaxB);
yminC= fmax(yminA, yminB);
ymaxC= fmin(ymaxA, ymaxB);
printf("Overlap rectangle: (%lf,%lf) (%lf,%lf)\n", xminC, yminC, xmaxC, ymaxC);
}
}
return EXIT_SUCCESS;
}
【问题讨论】:
-
好吧,你必须允许用户输入“退出”,这一切都从检查
scanf的返回值开始 -
当前如果用户输入“退出”,程序会无限显示“无重叠区域”。
-
@KamiKaze:“
fgets已弃用”:什么?!不。你的意思是gets()对吗? -
@xing 和alk。你是对的,评论被删除
标签: c while-loop