c语言里怎么不让程序按任意键结束?

#include<stdio.h>#include<math.h>intmain(void){intsex,food,sport,i;doubleh,hf,hm;prin... #include<stdio.h>
#include<math.h>
int main(void)
{
int sex,food,sport,i;
double h,hf,hm;
printf("本程序为科学测量未成年人成年后的大概身高.\n");
printf("\n");
printf("请以米为单位输入你父亲的身高.\n");
scanf("%lf",&hf);
printf("请以米为单位输入你母亲的身高\n");
scanf("%lf",&hm);
printf("请输入你的性别,男生请输入1,女生请输入0\n");
do
{
scanf("%d",&sex);
getchar();
if(sex>1||sex<0)
printf("输入错误,请重新输入!\n");
}
while(sex>1||sex<0);
if(sex==1)
h=(hf+hm)*0.52;
else
h=(hf*0.923+hm)*0.5;
printf("从小到大是否经常生病进医院?是请输入1,否请输入0.\n");
do
{
scanf("%d",&i);
getchar();
if(i>1||i<0)
printf("输入错误,请重新输入!\n");
}
while(i>1||i<0);
if(i==1)
h=h-(h*0.02);
else
printf("\n");
printf("营养状况良好请输入1,不好请输入0\n");
do
{
scanf("%d",&food);
getchar();
if(food>1||food<0)
printf("输入错误,请重新输入!\n");
}
while(food>1||food<0);
if(food==1)
h=h*(1+0.015);
else
printf("\n");
printf("请问你经常运动吗?是请输入1,否请输入0\n");
do
{
scanf("%d",&sport);
getchar();
if(sport>1||sport<0)
printf("输入错误,请重新输入!\n");
}
while(sport>1||sport<0);
if(sport==1)
h=h*(1+0.02);
printf("您成年后的身高大概为:%lfm\n",h);
}

我写了这个程序,但每次运行到最后老是按任意键就结束了,不好看最后的结果。

还有,有时候运行到最后连结果都没有输出就结束了。

所以我想大家帮帮忙,要让这个程序可以运行到最后,只有用户自己点×关掉程序才结束。
展开
 我来答
匿名用户
2008-02-24
展开全部
像这样处理一下!

//---------------------------------------------------------------------------

#include<stdio.h>
#include<math.h>
int main(void)
{
int sex,food,sport,i;
double h,hf,hm;

printf("本程序为科学测量未成年人成年后的大概身高.\n");
printf("\n");
printf("请以米为单位输入你父亲的身高.\n");
scanf("%lf",&hf);
printf("请以米为单位输入你母亲的身高\n");
scanf("%lf",&hm);
printf("请输入你的性别,男生请输入1,女生请输入0\n");
do
{
scanf("%d",&sex);
getchar();
if(sex>1||sex<0)
printf("输入错误,请重新输入!\n");
}
while(sex>1||sex<0);
if(sex==1)
h=(hf+hm)*0.52;
else
h=(hf*0.923+hm)*0.5;
printf("从小到大是否经常生病进医院?是请输入1,否请输入0.\n");
do
{
scanf("%d",&i);
getchar();
if(i>1||i<0)
printf("输入错误,请重新输入!\n");
}
while(i>1||i<0);
if(i==1)
h=h-(h*0.02);
else
printf("\n");
printf("营养状况良好请输入1,不好请输入0\n");
do
{
scanf("%d",&food);
getchar();
if(food>1||food<0)
printf("输入错误,请重新输入!\n");
}
while(food>1||food<0);
if(food==1)
h=h*(1+0.015);
else
printf("\n");
printf("请问你经常运动吗?是请输入1,否请输入0\n");
do
{
scanf("%d",&sport);
getchar();
if(sport>1||sport<0)
printf("输入错误,请重新输入!\n");
}
while(sport>1||sport<0);
if(sport==1)
h=h*(1+0.02);
printf("您成年后的身高大概为:%lfm\n",h);

do
{

}while(i=getchar());

}

//---------------------------------------------------------------------------
zhangyichi008
2008-02-24 · TA获得超过146个赞
知道答主
回答量:61
采纳率:0%
帮助的人:0
展开全部
C++可以在最后加一个"cin.get();"

你可以到命令行里面运行。
比如你的程序放在D:\mycpp\a.exe,
到命令行(cmd,或MS-DOS提示符)

输入:

D: //回车
cd mycpp //回车
a.exe //回车

运行了!OK
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
清心又清澈灬画眉鸟C
2008-02-24 · TA获得超过698个赞
知道小有建树答主
回答量:655
采纳率:0%
帮助的人:355万
展开全部
就在main函数的最后一行加上cin.get()就行了啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
彳瞿亍
2008-02-24 · TA获得超过113个赞
知道小有建树答主
回答量:175
采纳率:0%
帮助的人:166万
展开全部
#include <stdlib.h>

system("pause");
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Puzzle_Bin
2008-02-24 · TA获得超过115个赞
知道答主
回答量:209
采纳率:0%
帮助的人:0
展开全部
system("pause");
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式