(c语言)为什么我的这个运行的时候输入1继续运行,而输入0后没有结束程序?另外怎么封装函数?求解
答案:2 悬赏:0 手机版
解决时间 2021-02-09 08:36
- 提问者网友:謫仙
- 2021-02-08 13:23
(c语言)为什么我的这个运行的时候输入1继续运行,而输入0后没有结束程序?另外怎么封装函数?求解
最佳答案
- 五星知识达人网友:鸽屿
- 2021-02-08 14:40
我们以最经典的HELLO WORLD程序为例
当我们写完这个程序 编译完成后单击左上角的叹号运行 可以看到一切正常 按下任意按键后窗口才会消失
但是我们去生成的目录下面找到这个EXE文件
双击运行却发现有个窗口一闪而过。。然后就什么也没有了 这时候我们有必要在程序中添加一些代码 防止程序被关闭
先在程序开头包括windows.h这个头文件
接着在主函数末尾的地方写一行system(“pause”);
重新编译之后我们再次打开对应目录下的EXE文件,这次程序运行完之后没有直接关闭掉而是停留在这里了,闪退问题成功解决
追问不是这个问题,你看图片黑色框,是不是继续做题?继续输1不继续输0,
我做的代码,输1或者0都是继续运行,怎么让输0后变成结束运行
当我们写完这个程序 编译完成后单击左上角的叹号运行 可以看到一切正常 按下任意按键后窗口才会消失
但是我们去生成的目录下面找到这个EXE文件
双击运行却发现有个窗口一闪而过。。然后就什么也没有了 这时候我们有必要在程序中添加一些代码 防止程序被关闭
先在程序开头包括windows.h这个头文件
接着在主函数末尾的地方写一行system(“pause”);
重新编译之后我们再次打开对应目录下的EXE文件,这次程序运行完之后没有直接关闭掉而是停留在这里了,闪退问题成功解决
追问不是这个问题,你看图片黑色框,是不是继续做题?继续输1不继续输0,
我做的代码,输1或者0都是继续运行,怎么让输0后变成结束运行
全部回答
- 1楼网友:鸠书
- 2021-02-08 14:56
#include
#include
int main(int argc, char** argv)
{ double a, b,c,d,r,r1,r2;
int x; /////有改动
x=1;
while(x){ printf("请输入一元二次方程的系数a、b和c,数之间用空格分开:");
//输入a,b,c值
scanf("%lf %lf %lf",&a,&b,&c);
d=b*b-4*a*c;//求解判别式的值
printf("判别式=%lf ",d);
if(d>0)//d>0,有2个实数根
{ r1=(-b+sqrt(d))/(2*a);
r2=(-b-sqrt(d))/(2*a);//求根公式
printf("方程的两个根是:%lf,%lf ",r1,r2); //输出结果
} else
{ if(d==0)//d=o,有1个实数根
{ r=-b/(2*a);
printf("方程只有一个根:%f ",r); //输出结果 /////有改动
} else//d<0,没有实数根
{ printf("方程没有根 ");//输出结果
} } x=-1;
printf("是否继续做题?是输入1,否输入0:");
scanf("%d",&x);
}
return 0;
}追问那么,运行一次封装函数是怎么弄,拜托
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯